1+ def tag = input message : ' Tag' , parameters : [string(defaultValue : ' ' , description : ' Tag' , name : ' TAG' )]
12node {
23 stage(' Checkout Git' ){
3- git url : ' git@github.com:MaxxtonGroup/microdocs.git' , branch : ' development'
4- stash name : ' source'
5- }
6- stage(' Build microdocs-core' ){
7- unstash ' source'
8- dir (' microdocs-core-ts' ){
9- sh ' echo "Installing npm dependencies"'
10- sh ' npm version $TAG'
11- sh ' npm install'
12- sh ' echo "Publishing to private NPM registry"'
13- sh ' npm run prepublish'
14- dir (' dist' ){
15- stash name : ' microdocs-core-dist'
16- }
17- }
18- }
19- stage(' Publish microdocs-core' ){
20- unstash ' microdocs-core-dist'
21- dir (' microdocs-core-ts' ){
22- try {
23- sh ' npm unpublish @maxxton/microdocs-core@$TAG'
24- }catch (Exception e){}
25- sh ' npm publish dist'
26- }
27- }
28- stage(' Build microdocs-cli' ){
29- unstash ' source'
30- dir (' microdocs-cli' ){
31- sh ' echo "Installing npm dependencies"'
32- sh ' npm version $TAG'
33- sh ' npm install --save @maxxton/microdocs-core@$TAG'
34- sh ' npm install'
35- sh ' echo "Publishing to private NPM registry"'
36- sh ' npm run prepublish'
37- dir (' dist' ){
38- stash name : ' microdocs-cli-dist'
39- }
40- }
41- }
42- stage(' Publish microdocs-cli' ){
43- unstash ' microdocs-cli-dist'
44- dir (' microdocs-cli' ) {
45- try {
46- sh ' npm unpublish @maxxton/microdocs-cli@$TAG'
47- }catch (Exception e){}
48- sh ' npm publish'
49- }
4+ git url : ' git@github.com:MaxxtonGroup/microdocs.git' , branch : ' master'
505 }
516 stage(' Build microdocs-server' ){
52- unstash ' source'
537 dir (' microdocs-server' ){
54- sh ' echo "Installing npm dependencies"'
55- sh ' npm version $TAG'
56- sh ' npm install --save @maxxton/microdocs-core@$TAG'
578 sh ' npm install'
58- sh ' echo "Publishing to private NPM registry" '
59- sh ' npm run package-distribution '
9+ sh ' npm version ' + tag
10+ sh ' npm run prepublish '
6011 sh ' cp .npmrc dist/.npmrc'
6112 dir (' dist' ){
6213 sh ' npm install --prod'
63- stash name : ' microdocs-server-dist'
6414 }
6515 }
6616 }
6717 stage(' Build microdocs-ui' ){
68- unstash ' source'
6918 dir (' microdocs-ui' ){
70- sh ' echo "Installing npm dependencies"'
71- sh ' npm version $TAG'
72- sh ' npm install --save @maxxton/microdocs-core@$TAG'
73- sh ' npm install @maxxton/gulp-builder@2.3.3 --save-dev'
7419 sh ' npm install'
75- sh ' echo "Publishing to private NPM registry"'
76- sh ' npm run package-distribution'
77- dir (' dist' ){
78- stash name : ' microdocs-ui-dist'
79- }
20+ sh ' npm version ' + tag
21+ sh ' ./node_modules/.bin/ng build --prod'
22+ }
23+ }
24+ stage(' Build microdocs-ui' ){
25+ dir (' microdocs-ui' ){
26+ sh ' npm install'
27+ sh ' npm version ' + tag
28+ sh ' ng build --prod'
8029 }
8130 }
8231 stage(' Build docker image' ){
83- unstash ' source'
84- unstash ' microdocs-server-dist'
85- unstash ' microdocs-ui-dist'
86- sh ' bash docker rmi maxxton/microdocs:$TAG || true'
32+ sh ' bash docker rmi maxxton/microdocs:' + tag + ' || true'
8733 sh ' bash docker rmi maxxton/microdocs:latest || true'
88- sh ' docker build --tag=maxxton/microdocs:$TAG --no-cache .'
34+ sh ' docker build --tag=maxxton/microdocs:' + tag + ' --no-cache .'
8935 }
9036 stage(' Public docker image' ){
9137 sh ' docker login --email $DOCKERHUB_EMAIL --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD'
92- sh ' docker push maxxton/microdocs:$TAG '
93- sh ' docker tag maxxton/microdocs:$TAG maxxton/microdocs:latest'
38+ sh ' docker push maxxton/microdocs:' + tag;
39+ sh ' docker tag maxxton/microdocs:' + tag + ' maxxton/microdocs:latest'
9440 sh ' docker push maxxton/microdocs:latest'
9541 }
9642}
0 commit comments