@@ -8,91 +8,82 @@ pipeline {
8
8
IMAGE_NAME = " nginx-proxy-manager"
9
9
TEMP_IMAGE_NAME = " nginx-proxy-manager-build_${ BUILD_NUMBER} "
10
10
TEMP_IMAGE_NAME_ARM = " nginx-proxy-manager-arm-build_${ BUILD_NUMBER} "
11
- TAG_VERSION = getPackageVersion()
11
+ // TAG_VERSION = getPackageVersion()
12
+ TAG_VERSION = " preview"
12
13
}
13
14
stages {
14
15
stage(' Prepare' ) {
15
16
steps {
16
17
sh ' docker pull $DOCKER_CI_TOOLS'
17
18
}
18
19
}
19
- stage(' Build x86_64' ) {
20
- steps {
21
- ansiColor(' xterm' ) {
22
- sh ' docker run --rm -v $(pwd):/srv/app -w /srv/app jc21/node:latest yarn --registry=$NPM_REGISTRY install'
23
- sh ' docker run --rm -v $(pwd):/srv/app -w /srv/app jc21/node:latest npm runscript build'
24
- sh ' rm -rf node_modules'
25
- sh ' docker run --rm -v $(pwd):/srv/app -w /srv/app jc21/node yarn --registry=$NPM_REGISTRY install --prod'
26
- sh ' docker run --rm -v $(pwd):/data $DOCKER_CI_TOOLS node-prune'
27
- sh ' docker build --pull --no-cache --squash --compress -t $TEMP_IMAGE_NAME .'
28
- }
29
- }
30
- }
31
- // stage('Build armhf') {
32
- // steps {
33
- // ansiColor('xterm') {
34
- // sh 'docker run --rm -v $(pwd):/srv/app -w /srv/app jc21/node:armhf yarn --registry=$NPM_REGISTRY install'
35
- // sh 'docker run --rm -v $(pwd):/srv/app -w /srv/app jc21/node:armhf npm run-script build'
36
- // sh 'rm -rf node_modules'
37
- // sh 'docker run --rm -v $(pwd):/srv/app -w /srv/app jc21/node:armhf yarn --registry=$NPM_REGISTRY install --prod'
38
- // sh 'docker run --rm -v $(pwd):/data $DOCKER_CI_TOOLS node-prune'
39
- // sh 'docker build --pull --no-cache --squash --compress -t $TEMP_IMAGE_NAME_ARM -f Dockerfile.armhf .'
40
- // }
41
- // }
42
- // }
43
- stage(' Publish Private' ) {
44
- steps {
45
- sh ' docker tag $TEMP_IMAGE_NAME ${DOCKER_PRIVATE_REGISTRY}/$IMAGE_NAME:$TAG_VERSION'
46
- sh ' docker push ${DOCKER_PRIVATE_REGISTRY}/$IMAGE_NAME:$TAG_VERSION'
20
+ stages {
21
+ stage(' Build' ) {
22
+ parallel {
23
+ stage(' x86_64' ) {
24
+ steps {
25
+ ansiColor(' xterm' ) {
26
+ // Codebase
27
+ sh ' docker run --rm -v $(pwd):/srv/app -w /srv/app $IMAGE_NAME-base:latest yarn --registry=$NPM_REGISTRY install'
28
+ sh ' docker run --rm -v $(pwd):/srv/app -w /srv/app $IMAGE_NAME-base:latest npm runscript build'
29
+ sh ' rm -rf node_modules'
30
+ sh ' docker run --rm -v $(pwd):/srv/app -w /srv/app $IMAGE_NAME-base:latest yarn --registry=$NPM_REGISTRY install --prod'
31
+ sh ' docker run --rm -v $(pwd):/data $DOCKER_CI_TOOLS node-prune'
47
32
48
- sh ' docker tag $TEMP_IMAGE_NAME_ARM ${DOCKER_PRIVATE_REGISTRY}/$IMAGE_NAME:$TAG_VERSION-armhf'
49
- sh ' docker push ${DOCKER_PRIVATE_REGISTRY}/$IMAGE_NAME:$TAG_VERSION-armhf'
50
- }
51
- }
52
- stage(' Publish Public' ) {
53
- when {
54
- branch ' master'
55
- }
56
- steps {
57
- sh ' docker tag $TEMP_IMAGE_NAME ${DOCKER_PRIVATE_REGISTRY}/$IMAGE_NAME:latest'
58
- sh ' docker push ${DOCKER_PRIVATE_REGISTRY}/$IMAGE_NAME:latest'
59
- sh ' docker tag $TEMP_IMAGE_NAME docker.io/jc21/$IMAGE_NAME:latest'
60
- sh ' docker tag $TEMP_IMAGE_NAME docker.io/jc21/$IMAGE_NAME:$TAG_VERSION'
33
+ // Docker Build
34
+ sh ' docker build --pull --no-cache --squash --compress -t $TEMP_IMAGE_NAME .'
61
35
62
- // sh 'docker tag $TEMP_IMAGE_NAME_ARM docker.io/jc21/$IMAGE_NAME:latest-armhf'
63
- // sh 'docker tag $TEMP_IMAGE_NAME_ARM docker.io/jc21/$IMAGE_NAME:$TAG_VERSION-armhf'
36
+ // Private Registry
37
+ sh ' docker tag $TEMP_IMAGE_NAME $DOCKER_PRIVATE_REGISTRY/$IMAGE_NAME:$TAG_VERSION'
38
+ sh ' docker push $DOCKER_PRIVATE_REGISTRY/$IMAGE_NAME:$TAG_VERSION'
64
39
65
- withCredentials([usernamePassword(credentialsId : ' jc21-dockerhub' , passwordVariable : ' dpass' , usernameVariable : ' duser' )]) {
66
- sh " docker login -u '${ duser} ' -p '${ dpass} '"
67
- sh ' docker push docker.io/jc21/$IMAGE_NAME:latest'
68
- sh ' docker push docker.io/jc21/$IMAGE_NAME:$TAG_VERSION'
40
+ // Dockerhub
41
+ sh ' docker tag $TEMP_IMAGE_NAME docker.io/jc21/$IMAGE_NAME:$TAG_VERSION'
69
42
70
- // sh 'docker push docker.io/jc21/$IMAGE_NAME:latest-armhf'
71
- // sh 'docker push docker.io/jc21/$IMAGE_NAME:$TAG_VERSION-armhf'
72
- }
73
- }
74
- }
75
- stage(' Publish Beta' ) {
76
- when {
77
- branch ' v2-rewrite'
78
- }
79
- steps {
80
- sh ' docker tag $TEMP_IMAGE_NAME ${DOCKER_PRIVATE_REGISTRY}/$IMAGE_NAME:preview'
81
- sh ' docker push ${DOCKER_PRIVATE_REGISTRY}/$IMAGE_NAME:preview'
82
- sh ' docker tag $TEMP_IMAGE_NAME docker.io/jc21/$IMAGE_NAME:preview'
83
- // sh 'docker tag $TEMP_IMAGE_NAME_ARM docker.io/jc21/$IMAGE_NAME:preview-armhf'
43
+ withCredentials([usernamePassword(credentialsId : ' jc21-dockerhub' , passwordVariable : ' dpass' , usernameVariable : ' duser' )]) {
44
+ sh " docker login -u '${ duser} ' -p '$dpass '"
45
+ sh ' docker push docker.io/jc21/$IMAGE_NAME:$TAG_VERSION'
46
+ }
47
+
48
+ sh ' docker rmi $TEMP_IMAGE_NAME'
49
+ }
50
+ }
51
+ }
52
+ stage(' armhf' ) {
53
+ agent {
54
+ label ' armhf'
55
+ }
56
+ steps {
57
+ ansiColor(' xterm' ) {
58
+ // Codebase
59
+ sh ' docker run --rm -v $(pwd):/srv/app -w /srv/app $IMAGE_NAME-base:armhf yarn --registry=$NPM_REGISTRY install'
60
+ sh ' docker run --rm -v $(pwd):/srv/app -w /srv/app $IMAGE_NAME-base:armhf npm runscript build'
61
+ sh ' rm -rf node_modules'
62
+ sh ' docker run --rm -v $(pwd):/srv/app -w /srv/app $IMAGE_NAME-base:armhf yarn --registry=$NPM_REGISTRY install --prod'
63
+
64
+ // Docker Build
65
+ sh ' docker build --pull --no-cache --squash --compress -t TEMP_IMAGE_NAME_ARM .'
84
66
85
- withCredentials([usernamePassword(credentialsId : ' jc21-dockerhub' , passwordVariable : ' dpass' , usernameVariable : ' duser' )]) {
86
- sh " docker login -u '${ duser} ' -p '${ dpass} '"
87
- sh ' docker push docker.io/jc21/$IMAGE_NAME:preview'
88
- // sh 'docker push docker.io/jc21/$IMAGE_NAME:preview-armhf'
67
+ // Private Registry
68
+ sh ' docker tag TEMP_IMAGE_NAME_ARM $DOCKER_PRIVATE_REGISTRY/$IMAGE_NAME:$TAG_VERSION-armhf'
69
+ sh ' docker push $DOCKER_PRIVATE_REGISTRY/$IMAGE_NAME:$TAG_VERSION-armhf'
70
+
71
+ // Dockerhub
72
+ sh ' docker tag TEMP_IMAGE_NAME_ARM docker.io/jc21/$IMAGE_NAME:$TAG_VERSION-armhf'
73
+
74
+ withCredentials([usernamePassword(credentialsId : ' jc21-dockerhub' , passwordVariable : ' dpass' , usernameVariable : ' duser' )]) {
75
+ sh " docker login -u '${ duser} ' -p '$dpass '"
76
+ sh ' docker push docker.io/jc21/$IMAGE_NAME:$TAG_VERSION-armhf'
77
+ }
78
+
79
+ sh ' docker rmi TEMP_IMAGE_NAME_ARM'
80
+ }
81
+ }
82
+ }
89
83
}
90
84
}
91
85
}
92
86
}
93
- triggers {
94
- bitbucketPush()
95
- }
96
87
post {
97
88
success {
98
89
juxtapose event : ' success'
@@ -102,10 +93,6 @@ pipeline {
102
93
juxtapose event : ' failure'
103
94
sh ' figlet "FAILURE"'
104
95
}
105
- always {
106
- sh ' docker rmi $TEMP_IMAGE_NAME'
107
- // sh 'docker rmi $TEMP_IMAGE_NAME_ARM'
108
- }
109
96
}
110
97
}
111
98
0 commit comments