summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzhangshuai <[email protected]>2024-07-19 10:07:16 +0800
committerzhangshuai <[email protected]>2024-07-19 10:07:16 +0800
commit45b7cec1b5b079ab2ccc47c2219dbbacd3aa2263 (patch)
tree8be9e5ced0d2003c2291870f8f17027ed51a8dbf
parent891d2c3034a4bcaf9040cf0af55c865ed81ed050 (diff)
feat: 新增 gitlab cicddev-1.0
-rw-r--r--.gitlab-ci.yml78
1 files changed, 78 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..ef5bdf9
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,78 @@
+# 定义全局docker镜像
+image: git.mesalab.cn:7443/nezha/nz-build-env:1.6
+# 定义全局变量
+variables:
+ MINIO_HOST: 'http://192.168.40.48:2020/'
+ MINIO_USER: 'admin'
+ MINIO_PWD: "Nezha@02!"
+ MAVEN_REPO: "/etc/maven/repository/"
+ # mariadb 数据库定义(非必须)
+ MYSQL_DATABASE: "test"
+ # mariadb 密码配置(必须),注意变量名是 MYSQL_ROOT_PASSWORD
+ MYSQL_ROOT_PASSWORD: '111111'
+# 定义全局依赖的docker服务,即 这条流水线 pipeline 中的任务都用这里的服务
+#services:
+ #- mariadb:10.2.14
+# 开始执行脚本前所需执行脚本
+before_script:
+ - echo "begin ci"
+# 脚本执行完后的钩子,执行所需脚本
+after_script:
+ - echo "end ci"
+# 该ci pipeline适合的场景,按照定义的顺序执行任务
+stages:
+ - build
+ - test
+# paths主要是来指定需要被缓存的文件路径,需要特别指出的是这里的 paths 是相对路径,是相对于gitlab中项目目录的路径,也就是说被缓存的文件都是在项目目录之内的
+# maven setting /usr/share/maven/conf/settings.xml
+cache:
+ paths:
+ - $MAVEN_REPO
+
+# 定义的任务
+build_rpm:
+ stage: build
+ # 所需执行的脚本
+ script:
+ - env | sort
+ - pwd
+ - export FILE_NAME=$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA.jar
+ - mvn clean install -Dmaven.test.skip=true
+ - cd ./target
+ # 将 文件 上传到 minio
+ - mc alias set asw $MINIO_HOST $MINIO_USER $MINIO_PWD
+ - mc cp asw-runner-jar-with-dependencies.jar asw/release/asw-runner/$FILE_NAME
+ - cd ../
+ # 在哪个分支上可用
+ only:
+ - /^rel-.*$/i
+ # 指定哪个ci runner跑该工作
+ tags:
+ - asw
+
+# 定义的任务
+dev_build:
+ stage: test
+ # 所需执行的脚本
+ script:
+ - env | sort
+ - pwd
+ - export FILE_NAME=$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA.jar
+ - mvn clean install -Dmaven.test.skip=true
+ - cd ./target
+ - md5sum asw-runner-jar-with-dependencies.jar > $CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-latest.jar.md5sum.txt
+ # 将 文件 上传到 minio
+ - mc alias set asw $MINIO_HOST $MINIO_USER $MINIO_PWD
+ - mc cp asw-runner-jar-with-dependencies.jar asw/ci-cd/asw-runner/$FILE_NAME
+ - mc cp asw-runner-jar-with-dependencies.jar asw/ci-cd/asw-runner/$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-latest.jar
+ - mc cp $CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-latest.jar.md5sum.txt asw/ci-cd/asw-runner/$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-latest.jar.md5sum.txt
+ - cd ../
+ # 在哪个分支上可用
+ only:
+ - /^dev-.*$/i
+ # 指定不执行的标签
+ except:
+ - schedules
+ # 指定哪个ci runner跑该工作
+ tags:
+ - asw