-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.gitlab-ci.yml
More file actions
90 lines (80 loc) · 1.81 KB
/
Copy path.gitlab-ci.yml
File metadata and controls
90 lines (80 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
stages:
- test
- build
- deploy
cache:
key: "$CI_BUILD_STAGE"
paths:
- src/main/web/node_modules/
.test:template: &test-template
script:
- echo Testing branch $(git describe --all)...
- mvn test
stage: test
test:jdk8:
<<: *test-template
tags:
- groufty
- jdk8
- maven3
test:openjdk8:
<<: *test-template
tags:
- groufty
- openjdk8
- maven3
.build:template: &build-template
script:
- echo Building branch $(git describe --all)...
- mvn package -P prod -DskipTests
stage: build
when: on_success
artifacts:
paths:
- target/*.jar
build:jdk8:
<<: *build-template
tags:
- groufty
- jdk8
- maven3
only:
- dev
- master
- /^release_.*$/
build:openjdk8:
<<: *build-template
tags:
- groufty
- openjdk8
- maven3
only:
- /^release_.*$/
.deploy:template: &deploy-template
when: on_success
tags:
- groufty
- deploy
dependencies:
- build:jdk8
stage: deploy
deploy:swap:
<<: *deploy-template
script: |
echo Swapping build for $CI_BUILD_REF_NAME...
cp target/*.jar groufty_$CI_BUILD_REF_NAME.jar
sftp groufty@groufty.ewi.utwente.nl:/var/groufty/releases <<< $(echo "put groufty_$CI_BUILD_REF_NAME.jar")
ssh groufty@groufty.ewi.utwente.nl sudo groufty-swap $CI_BUILD_REF_NAME /var/groufty/releases/groufty_$CI_BUILD_REF_NAME.jar --jar
rm -f /var/groufty/releases/groufty_$CI_BUILD_REF_NAME.jar
only:
- dev
- master
deploy:upload:
<<: *deploy-template
script: |
echo Releasing build for $CI_BUILD_REF_NAME...
cp target/*.jar groufty_$CI_BUILD_REF_NAME.jar
sftp groufty@groufty.ewi.utwente.nl:/var/groufty/releases <<< $(echo "put groufty_$CI_BUILD_REF_NAME.jar")
ssh groufty@groufty.ewi.utwente.nl sudo groufty-release-cleanup
only:
- /^release_.*$/