1- docker_image : &docker_image
2- docker :
3- - image : docker:19.03.6
4-
51slack_image : &slack_image
62 docker :
7- - image : devatherock/simple-slack:0.4.0
3+ - image : devatherock/simple-slack:0.7.0
4+ auth :
5+ username : $DOCKER_USERNAME
6+ password : $DOCKER_PASSWORD
87
98work_directory : &work_directory
109 working_directory : ~/java-to-native
1110
1211resource_class : &resource_class
1312 resource_class : small
13+
14+ executors :
15+ jdk-executor :
16+ docker :
17+ - image : cimg/openjdk:11.0
18+ auth :
19+ username : $DOCKER_USERNAME
20+ password : $DOCKER_PASSWORD
21+ << : *resource_class
22+ << : *work_directory
1423
1524version : 2.1
1625jobs :
1726 groovy_script_to_jar :
1827 docker :
1928 - image : devatherock/vela-groovy-script-to-jar:0.6.2
29+ auth :
30+ username : $DOCKER_USERNAME
31+ password : $DOCKER_PASSWORD
2032 << : *resource_class
2133 << : *work_directory
2234 environment :
@@ -29,21 +41,34 @@ jobs:
2941 paths :
3042 - CreateNativeImage.jar
3143 publish :
32- << : *docker_image
33- << : *resource_class
34- << : *work_directory
44+ executor : jdk-executor
3545 steps :
3646 - checkout
3747 - setup_remote_docker
3848 - attach_workspace :
3949 at : ~/java-to-native
4050 - run : |
41- TAG=0.1.3
51+ TAG=${CIRCLE_SHA1:0:8}
4252 docker build -t devatherock/java-to-native:$TAG .
4353 docker tag devatherock/java-to-native:$TAG devatherock/java-to-native:latest
4454 docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
4555 docker push devatherock/java-to-native:$TAG
4656 docker push devatherock/java-to-native:latest
57+
58+ publish_release :
59+ executor : jdk-executor
60+ steps :
61+ - checkout
62+ - setup_remote_docker
63+ - attach_workspace :
64+ at : ~/java-to-native
65+ - run : |
66+ TAG=${CIRCLE_TAG#v}
67+ DEV_TAG=${CIRCLE_SHA1:0:8}
68+ docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
69+ docker pull devatherock/java-to-native:$DEV_TAG
70+ docker tag devatherock/java-to-native:$DEV_TAG devatherock/java-to-native:$TAG
71+ docker push devatherock/java-to-native:$TAG
4772
4873 notify_success :
4974 << : *slack_image
@@ -55,40 +80,46 @@ jobs:
5580 TITLE : " Build completed"
5681 steps :
5782 - run : /bin/simpleslack
58- notify_failure :
59- << : *slack_image
60- << : *resource_class
61- environment :
62- TEXT : " Failure: {{.CircleBuildUrl}} by {{.CircleUsername}}"
63- COLOR : " #a1040c"
64- CHANNEL : general
65- TITLE : " Build completed"
66- steps :
67- - run :
68- name : Failure notification
69- command : /bin/simpleslack
70- when : on_fail
7183
7284workflows :
7385 version : 2.1
7486 build_publish :
7587 jobs :
7688 - groovy_script_to_jar :
89+ context :
90+ - docker-credentials
7791 filters :
7892 branches :
7993 only : master
8094 - publish :
95+ context :
96+ - docker-credentials
8197 requires :
8298 - groovy_script_to_jar
8399 - notify_success :
84100 requires :
85101 - publish
86- - notify_failure :
102+ release :
103+ jobs :
104+ - publish_release :
105+ context :
106+ - docker-credentials
107+ filters :
108+ branches :
109+ only : non-existent-branch
110+ tags :
111+ only : /^v[0-9\.]+$/
112+ - notify_success :
113+ context :
114+ - docker-credentials
115+ - slack-webhook
87116 requires :
88- - publish
117+ - publish_release
89118 pr_check :
90119 jobs :
91120 - groovy_script_to_jar :
121+ context :
122+ - docker-credentials
92123 filters :
93124 branches :
94125 ignore : master
0 commit comments