diff options
| author | fangshunjian <[email protected]> | 2022-04-06 15:26:07 +0800 |
|---|---|---|
| committer | fangshunjian <[email protected]> | 2022-04-06 15:26:07 +0800 |
| commit | 5473010797001fe35c68a5a60c066090a39cd069 (patch) | |
| tree | 7910054ead425b5dc29eb58f06c5583e3e7ac973 | |
| parent | 3f9ff7e918b143872ae741a7a0e7d7b2aaa3eb73 (diff) | |
Merge branch 'dev-ci' of https://git.mesalab.cn/nezha/nz-talon.git intodev
dev-ci
| -rw-r--r-- | .gitlab-ci.yml | 28 | ||||
| -rw-r--r-- | tools/package.sh | 56 |
2 files changed, 57 insertions, 27 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6e5b29b..24197be 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,9 +1,15 @@ # docker镜像 -image: git.mesalab.cn:7443/nezha/nz-build-env:1.1 +image: git.mesalab.cn:7443/nezha/nz-build-env:1.2 +# 定义全局变量 +variables: + MINIO_HOST: 'http://192.168.44.36:2020/' + MINIO_USER: 'admin' + MINIO_PWD: "Nezha@02!" + MAVEN_REPO: "/etc/maven/repository" # 依赖的docker服务 services: - - mariadb - - redis +# - mariadb +# - redis # 开始执行脚本前所需执行脚本 before_script: - echo "begin ci" @@ -14,10 +20,10 @@ after_script: stages: - build - test - +# maven setting /usr/share/maven/conf/settings.xml cache: paths: - - .m2/repository + - $MAVEN_REPO # 定义的任务 build_rpm: @@ -25,9 +31,11 @@ build_rpm: # 所需执行的脚本 script: - env | sort + - pwd - chmod +x ./tools/package.sh + - ./tools/package.sh artifacts: - name: "$CI_COMMIT_REF_NAME" + name: "$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA" when: on_success paths: - ./target/*.xjar @@ -41,14 +49,16 @@ build_rpm: - nezha # 定义的任务 -test: +dev_build: stage: test # 所需执行的脚本 script: - env | sort - - mvn clean test + - pwd + - mvn clean install -Dxjar.password=111111 -Dxjar.excludes=/db/*,/static/**/* + - cd ./target && go build xjar.go && cd .. artifacts: - name: "$CI_COMMIT_REF_NAME" + name: "$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA" when: on_success paths: - ./target/*.xjar diff --git a/tools/package.sh b/tools/package.sh index 9821e84..677cc29 100644 --- a/tools/package.sh +++ b/tools/package.sh @@ -1,43 +1,63 @@ #!/bin/bash set -evx -pwd +CUR_PWD=`pwd` + +PACKAGE_NAME=nz-talon +BRANCH_ARRAY=(${CI_COMMIT_REF_NAME//-/ }) +PACKAGE_VERSION=${BRANCH_ARRAY[1]}.$CI_COMMIT_SHORT_SHA +ITERATION=Beta +if [[ "${BRANCH_ARRAY[0]}" == "rel" ]] ; then + ITERATION='Release'; +fi +RPM_FULL_NAME=${PACKAGE_NAME}-${PACKAGE_VERSION}-${ITERATION}.x86_64.rpm + # 初始化 minio -MINIO_HOST=http://192.168.44.36:2020/ -MINIO_USER=admin -MINIO_PWD=Nezha@02! mc alias set nz $MINIO_HOST $MINIO_USER $MINIO_PWD -BUILD_PATH=./build +BUILD_PATH=$CUR_PWD/build RPM_TALON_PATH=$BUILD_PATH/opt/nezha/nz-talon RPM_PROMTAIL_PATH=$BUILD_PATH/opt/nezha/promtail mkdir -p $RPM_TALON_PATH $RPM_PROMTAIL_PATH -mkdir -p $RPM_TALON_PATH/bin $RPM_TALON_PATH/conf -mkdir -p $RPM_PROMTAIL_PATH/bin $RPM_PROMTAIL_PATH/conf +mkdir -p $RPM_TALON_PATH/config echo 'packaging nz-talon ...' # mvn 编译 nz-talon mvn clean install -Dxjar.password=111111 -Dxjar.excludes=/db/*,/static/**/* -go build ./target/xjar.go - -chmod -x ./target/xjar -cp -f ./target/nz-talon.xjar $RPM_TALON_PATH/bin -cp -f ./target/xjar $RPM_TALON_PATH/bin +cd ./target && go build xjar.go +cd $CUR_PWD +# 设置可执行权限 +chmod +x ./target/xjar +cp -f ./target/nz-talon.xjar $RPM_TALON_PATH +cp -f ./target/xjar $RPM_TALON_PATH cp -f ./src/main/resources/{application-prod.yml,application.yml,logback-spring.xml,config/auth.yml,config/token.auth,config/promtail.version} ${RPM_TALON_PATH}/config sed -i 's/<property name="log.path" value=".*"/<property name="log.path" value="\/var\/log\/nezha\/nz-talon\/"/g' ${RPM_TALON_PATH}/config/logback-spring.xml # 下载 promtail mc cp nz/depends/loki/promtail-linux-amd64.zip ./ -unzip -o promtail-linux-amd64.zip -d $RPM_PROMTAIL_PATH/bin -cp -f ./tools/config.conf $RPM_TALON_PATH -cp -f ./tools/promtail.yaml $RPM_TALON_PATH +unzip -o promtail-linux-amd64.zip -d $RPM_PROMTAIL_PATH +mv $RPM_PROMTAIL_PATH/promtail-linux-amd64 $RPM_PROMTAIL_PATH/promtail +cp -f ./tools/config.conf $RPM_PROMTAIL_PATH +cp -f ./tools/promtail.yaml $RPM_PROMTAIL_PATH #修改日志地址 2021_08_26 sed -i 's/<property name="log.path" value=".*"/<property name="log.path" value="\/var\/log\/nezha\/nz-talon\/"/g' ${RPM_TALON_PATH}/config/logback-spring.xml -fpm -s dir -t rpm -n ${PACKAGE_NAME} -v ${PACKAGE_VERSION} --iteration ${ITERATION} --rpm-os 'linux' --pre-install ${CUR_PATH}/script/nz-talon/beforeinstall.sh --post-install ${CUR_PATH}/script/nz-talon/afterinstall.sh --post-uninstall ${CUR_PATH}/script/nz-talon/afterremove.sh -C ${CUR_PATH}/build/nz-talon -f -p ${CUR_PATH}/rpm - -echo 'package nz-talon finished'
\ No newline at end of file +fpm -s dir -t rpm -n ${PACKAGE_NAME} -v ${PACKAGE_VERSION} --iteration ${ITERATION} --rpm-os 'linux' \ + --pre-install ./tools/beforeinstall.sh \ + --post-install ./tools/afterinstall.sh \ + --post-uninstall ./tools/afterremove.sh \ + -C $BUILD_PATH -f \ + -p $BUILD_PATH +# 计算md5值 +cd $BUILD_PATH && md5sum $RPM_FULL_NAME > $RPM_FULL_NAME.md5sum.txt +cd $CUR_PWD + +# 上传编译的rpm 文件 +mc cp $BUILD_PATH/$RPM_FULL_NAME nz/release/nz-talon/$RPM_FULL_NAME +mc cp $BUILD_PATH/$RPM_FULL_NAME.md5sum.txt nz/release/nz-talon/$RPM_FULL_NAME.md5sum.txt + +echo 'package nz-talon finished' |
