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
nezha-nz-talon/tools/package.sh
2023-09-11 17:02:29 +08:00

87 lines
3.1 KiB
Bash

#!/bin/bash
set -evx
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
# 依赖jdk 文件名
JDK_FILENAME=jdk-8u202-linux-x64.tar.gz
# 初始化 minio
mc alias set nz $MINIO_HOST $MINIO_USER $MINIO_PWD
BUILD_PATH=$CUR_PWD/build
RPM_TALON_PATH=$BUILD_PATH/opt/nezha/nz-talon
RPM_PROMTAIL_PATH=$BUILD_PATH/opt/nezha/promtail
RPM_TELEGRAF_PATH=$BUILD_PATH/opt/nezha/telegraf
RPM_JDK_PATH=$RPM_TALON_PATH/jdk
mkdir -p $RPM_TALON_PATH $RPM_PROMTAIL_PATH $RPM_TELEGRAF_PATH
mkdir -p $RPM_TALON_PATH/config
mkdir -p $RPM_JDK_PATH
echo 'packaging nz-talon ...'
#添加版本信息
cat >./src/main/resources/version.properties<<EOF
version=${BRANCH_ARRAY[1]}
commit=$CI_COMMIT_SHORT_SHA
buildDate=`date +'%Y%m%d%H%m%S'`
EOF
# mvn 编译 nz-talon
mvn clean install -Dxjar.password=111111 -Dxjar.excludes=/db/*,/static/**/*
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
# 准备 jdk 编译目录
mc cp nz/depends/jdk/$JDK_FILENAME ./
tar -xzf ./$JDK_FILENAME --strip-components 1 -C $RPM_JDK_PATH
# 下载 promtail
mc cp nz/depends/loki/promtail-2.9.0.linux-amd64.zip ./
unzip -o promtail-2.9.0.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
# telegraf
mc cp nz/depends/telegraf/telegraf-1.26.2.tar.gz ./
tar -xzf telegraf-1.26.2.tar.gz -C $RPM_TELEGRAF_PATH
cat > $RPM_TELEGRAF_PATH/config.conf <<EOF
OPTION=" -config /opt/nezha/telegraf/telegraf.conf -config-directory /opt/nezha/telegraf/telegraf.d "
EOF
cp -f ./tools/telegraf.conf $RPM_TELEGRAF_PATH
cp -rf ./tools/telegraf.d $RPM_TELEGRAF_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 ./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'