Merge branch 'dev-ci' of https://git.mesalab.cn/nezha/nz-talon.git into
dev-ci
This commit is contained in:
@@ -1,9 +1,15 @@
|
|||||||
# docker镜像
|
# 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服务
|
# 依赖的docker服务
|
||||||
services:
|
services:
|
||||||
- mariadb
|
# - mariadb
|
||||||
- redis
|
# - redis
|
||||||
# 开始执行脚本前所需执行脚本
|
# 开始执行脚本前所需执行脚本
|
||||||
before_script:
|
before_script:
|
||||||
- echo "begin ci"
|
- echo "begin ci"
|
||||||
@@ -14,10 +20,10 @@ after_script:
|
|||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
- test
|
- test
|
||||||
|
# maven setting /usr/share/maven/conf/settings.xml
|
||||||
cache:
|
cache:
|
||||||
paths:
|
paths:
|
||||||
- .m2/repository
|
- $MAVEN_REPO
|
||||||
|
|
||||||
# 定义的任务
|
# 定义的任务
|
||||||
build_rpm:
|
build_rpm:
|
||||||
@@ -25,9 +31,11 @@ build_rpm:
|
|||||||
# 所需执行的脚本
|
# 所需执行的脚本
|
||||||
script:
|
script:
|
||||||
- env | sort
|
- env | sort
|
||||||
|
- pwd
|
||||||
- chmod +x ./tools/package.sh
|
- chmod +x ./tools/package.sh
|
||||||
|
- ./tools/package.sh
|
||||||
artifacts:
|
artifacts:
|
||||||
name: "$CI_COMMIT_REF_NAME"
|
name: "$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
|
||||||
when: on_success
|
when: on_success
|
||||||
paths:
|
paths:
|
||||||
- ./target/*.xjar
|
- ./target/*.xjar
|
||||||
@@ -41,14 +49,16 @@ build_rpm:
|
|||||||
- nezha
|
- nezha
|
||||||
|
|
||||||
# 定义的任务
|
# 定义的任务
|
||||||
test:
|
dev_build:
|
||||||
stage: test
|
stage: test
|
||||||
# 所需执行的脚本
|
# 所需执行的脚本
|
||||||
script:
|
script:
|
||||||
- env | sort
|
- env | sort
|
||||||
- mvn clean test
|
- pwd
|
||||||
|
- mvn clean install -Dxjar.password=111111 -Dxjar.excludes=/db/*,/static/**/*
|
||||||
|
- cd ./target && go build xjar.go && cd ..
|
||||||
artifacts:
|
artifacts:
|
||||||
name: "$CI_COMMIT_REF_NAME"
|
name: "$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
|
||||||
when: on_success
|
when: on_success
|
||||||
paths:
|
paths:
|
||||||
- ./target/*.xjar
|
- ./target/*.xjar
|
||||||
|
|||||||
@@ -1,43 +1,63 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -evx
|
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
|
||||||
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
|
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_TALON_PATH=$BUILD_PATH/opt/nezha/nz-talon
|
||||||
RPM_PROMTAIL_PATH=$BUILD_PATH/opt/nezha/promtail
|
RPM_PROMTAIL_PATH=$BUILD_PATH/opt/nezha/promtail
|
||||||
|
|
||||||
mkdir -p $RPM_TALON_PATH $RPM_PROMTAIL_PATH
|
mkdir -p $RPM_TALON_PATH $RPM_PROMTAIL_PATH
|
||||||
mkdir -p $RPM_TALON_PATH/bin $RPM_TALON_PATH/conf
|
mkdir -p $RPM_TALON_PATH/config
|
||||||
mkdir -p $RPM_PROMTAIL_PATH/bin $RPM_PROMTAIL_PATH/conf
|
|
||||||
|
|
||||||
echo 'packaging nz-talon ...'
|
echo 'packaging nz-talon ...'
|
||||||
# mvn 编译 nz-talon
|
# mvn 编译 nz-talon
|
||||||
mvn clean install -Dxjar.password=111111 -Dxjar.excludes=/db/*,/static/**/*
|
mvn clean install -Dxjar.password=111111 -Dxjar.excludes=/db/*,/static/**/*
|
||||||
go build ./target/xjar.go
|
cd ./target && go build xjar.go
|
||||||
|
cd $CUR_PWD
|
||||||
chmod -x ./target/xjar
|
# 设置可执行权限
|
||||||
cp -f ./target/nz-talon.xjar $RPM_TALON_PATH/bin
|
chmod +x ./target/xjar
|
||||||
cp -f ./target/xjar $RPM_TALON_PATH/bin
|
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
|
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
|
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
|
# 下载 promtail
|
||||||
mc cp nz/depends/loki/promtail-linux-amd64.zip ./
|
mc cp nz/depends/loki/promtail-linux-amd64.zip ./
|
||||||
unzip -o promtail-linux-amd64.zip -d $RPM_PROMTAIL_PATH/bin
|
unzip -o promtail-linux-amd64.zip -d $RPM_PROMTAIL_PATH
|
||||||
cp -f ./tools/config.conf $RPM_TALON_PATH
|
mv $RPM_PROMTAIL_PATH/promtail-linux-amd64 $RPM_PROMTAIL_PATH/promtail
|
||||||
cp -f ./tools/promtail.yaml $RPM_TALON_PATH
|
cp -f ./tools/config.conf $RPM_PROMTAIL_PATH
|
||||||
|
cp -f ./tools/promtail.yaml $RPM_PROMTAIL_PATH
|
||||||
|
|
||||||
|
|
||||||
#修改日志地址 2021_08_26
|
#修改日志地址 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
|
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
|
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
|
||||||
|
|
||||||
echo 'package nz-talon finished'
|
# 上传编译的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'
|
||||||
|
|||||||
Reference in New Issue
Block a user