This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
appsketch-works-asw-controller/.gitlab-ci.yml
2024-08-12 15:07:35 +08:00

83 lines
2.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 定义全局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.tar.gz
- mvn clean install -Dmaven.test.skip=true
- cd ./target
- tar -zcvf $FILE_NAME asw-controller.jar
# 将 文件 上传到 minio
- mc alias set asw $MINIO_HOST $MINIO_USER $MINIO_PWD
- mc cp $FILE_NAME asw/release/asw-controller/$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.tar.gz
- mvn clean install -Dmaven.test.skip=true
- cd ./target
# - "git log -100 --pretty=format:'%ad : %s' > git-log.html"
# - tar -zcvf $FILE_NAME asw-controller.jar git-log.html
- tar -zcvf $FILE_NAME asw-controller.jar
- md5sum $FILE_NAME > $CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-latest.tar.gz.md5sum.txt
# 将 文件 上传到 minio
- mc alias set asw $MINIO_HOST $MINIO_USER $MINIO_PWD
- mc cp $FILE_NAME asw/ci-cd/asw-controller/$FILE_NAME
- mc cp $FILE_NAME asw/ci-cd/asw-controller/$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-latest.tar.gz
- mc cp $CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-latest.tar.gz.md5sum.txt asw/ci-cd/asw-controller/$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-latest.tar.gz.md5sum.txt
- cd ../
# 在哪个分支上可用
only:
- /^dev-.*$/i
# 指定不执行的标签
except:
- schedules
# 指定哪个ci runner跑该工作
tags:
- asw