84 lines
2.2 KiB
YAML
84 lines
2.2 KiB
YAML
# docker镜像
|
|
image: git.mesalab.cn:7443/nezha/nz-build-env:1.5
|
|
# 定义全局变量
|
|
variables:
|
|
MINIO_HOST: 'http://192.168.40.48:2020/'
|
|
MINIO_USER: 'admin'
|
|
MINIO_PWD: "Nezha@02!"
|
|
MAVEN_REPO: "/etc/maven/repository/"
|
|
# 依赖的docker服务
|
|
services:
|
|
# - mariadb
|
|
# - redis
|
|
# 开始执行脚本前所需执行脚本
|
|
before_script:
|
|
- echo "begin ci"
|
|
# 脚本执行完后的钩子,执行所需脚本
|
|
after_script:
|
|
- echo "end ci"
|
|
# 该ci pipeline适合的场景
|
|
stages:
|
|
- build
|
|
- test
|
|
# maven setting /usr/share/maven/conf/settings.xml
|
|
cache:
|
|
paths:
|
|
- $MAVEN_REPO
|
|
|
|
# 定义的任务
|
|
build_rpm:
|
|
stage: build
|
|
# 所需执行的脚本
|
|
script:
|
|
- env | sort
|
|
- pwd
|
|
- chmod +x ./tools/package.sh
|
|
- ./tools/package.sh
|
|
artifacts:
|
|
name: "$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
|
|
when: on_success
|
|
paths:
|
|
- ./target/*.xjar
|
|
- ./target/xjar
|
|
expire_in: 1 week
|
|
# 在哪个分支上可用
|
|
only:
|
|
- /^rel-.*$/i
|
|
# 指定哪个ci runner跑该工作
|
|
tags:
|
|
- nezha
|
|
|
|
# 定义的任务
|
|
dev_build:
|
|
stage: test
|
|
# 所需执行的脚本
|
|
script:
|
|
- env | sort
|
|
- pwd
|
|
- export FILE_NAME=$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA.tar.gz
|
|
- export BRANCH_ARRAY=(${CI_COMMIT_REF_NAME//-/ })
|
|
- echo -e "version=${BRANCH_ARRAY[1]}\ncommit=$CI_COMMIT_SHORT_SHA\nbuildDate=`date +'%Y%m%d%H%m%S'`" >>./src/main/resources/version.properties
|
|
- mvn clean install -Dxjar.password=111111 -Dxjar.excludes=/db/*,/static/**/*
|
|
- cd ./target
|
|
- go build xjar.go
|
|
- chmod +x xjar
|
|
- "git log -100 --pretty=format:'%ad : %s' >> git-log.html"
|
|
- tar -zcvf $FILE_NAME xjar nz-talon.xjar git-log.html
|
|
- mc alias set nz $MINIO_HOST $MINIO_USER $MINIO_PWD
|
|
- mc cp $FILE_NAME nz/ci-cd/nz-talon/$FILE_NAME
|
|
- mc cp $FILE_NAME nz/ci-cd/nz-talon/$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-latest.tar.gz
|
|
- cd ../
|
|
artifacts:
|
|
name: "$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
|
|
when: on_success
|
|
paths:
|
|
- ./target/*.xjar
|
|
- ./target/xjar
|
|
expire_in: 1 week
|
|
# 在哪个分支上可用
|
|
only:
|
|
- /^dev-.*$/i
|
|
# 指定哪个ci runner跑该工作
|
|
tags:
|
|
- nezha
|