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
91
92
93
94
95
96
97
|
#stages定义pipeline的全部阶段(stage),阶段内所有任务并行执行,123456
#全部执行成功开始下一阶段任务,任何阶段内任意job执行失败都会导致pipeline失败,
#所有stage,job执行成功后pipeline会显示pass。如果未定义stages,则默认有build、
#install,install_clean和build_imag三个阶段,如果未定义stage,则默认test阶段
#这里定义三个阶段(stages),install,install_clean和build_image,stages中的阶段按写的顺序进行,先执行install,然后执行install_clean,然后在执行build_image
stages:
- gen_git-log
- test
- build_image
- package_clean
variables:
XJAR_PIN: 111111
before_script:
- export CNWEB_TAG=$(date +%Y%m%d%H%M%S)
generate_git-log:
stage: gen_git-log
script:
- "git log -100 --pretty=format:'%ad : %s' >> ./cn-admin/src/main/resources/git.log"
artifacts:
paths:
- ./cn-admin/src/main/resources/git.log
only:
- dev-23.07
tags:
- galaxy
test:
stage: test
script:
- mvn clean test
after_script:
- export JUNI_REPORT_NAME=cn-$CI_COMMIT_REF_NAME-test-report-$(date +%Y%m%d%H%M%S).tar.gz
- echo $JUNI_REPORT_NAME
- cd ./cn-admin/target
- tar -zcvf $JUNI_REPORT_NAME surefire-reports
- sudo scp $JUNI_REPORT_NAME [email protected]:/opt/cn/document/
- cd ../../
when: on_success
only:
- dev-23.07
tags:
- galaxy
#job的名称,自定义
build_image:
#上面定义的stages
stage: build_image
#执行的脚本内容
script:
- echo '提交的分支是'
- echo $CI_COMMIT_REF_NAME
- echo 'XJAR_PIN :' $XJAR_PIN
- echo 'CNWEB_TAG:' $CNWEB_TAG
- echo 'exec build_image'
- cd cn-admin && mvn package -Dxjar.password=$XJAR_PIN -Dmaven.test.skip=true docker:build -DpushImage -DdockerImageTags=$CNWEB_TAG -DdockerImageName=192.168.40.153:9080/cyber-narrator/cn-web-$CI_COMMIT_REF_NAME:$CNWEB_TAG
#when用于当前一阶段任务故障或者忽略故障的job任务,主要用于清理发生故障时的后续措施。
#可选项
#on_success - 默认参数,前一阶段任务成功时才执行
#on_failure - 前一阶段任务故障时才执行
#always - 无论前一阶段任务是否成功都执行
#manual - 手动设置,比较复杂,略过。
when: on_success
only:
- dev-23.07
tags:
- galaxy
build_release_image:
stage: build_image
script:
- echo 'tag名称是'
- echo $CI_COMMIT_TAG
- echo '提交的版本是'
- echo $CI_COMMIT_REF_NAME
- echo 'exec build_image'
- cd cn-admin && mvn package -Dxjar.password=$XJAR_PIN -Dmaven.test.skip=true docker:build -DpushImage -DdockerImageTags=$CNWEB_TAG -DdockerImageName=192.168.40.153:9080/cyber-narrator/cn-web:$CI_COMMIT_TAG
only:
- tags
tags:
- galaxy
package_clean:
stage: package_clean
script:
- echo '提交的版本是'
- echo $CI_COMMIT_REF_NAME
- echo 'last job exec fail, exec mvn clean'
- mvn clean
when: on_failure
only:
- dev-23.07
tags:
- galaxy
|