blob: 1e2799eb1c1504e0b758bc46645e93295506a262 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#!/bin/bash
set -vx
CUR_PWD=`pwd`
PACKAGE_NAME=nz-agent
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
# depends 文件名
PROMETHEUS_FILENAME=prometheus-2.34.0.linux-amd64.tar.gz
SNMP_EXPORTER_FILENAME=snmp_exporter-0.20.0.linux-amd64.tar.gz
BLACKBOX_EXPORTER_FILENAME=blackbox_exporter-0.20.0.linux-amd64.tar.gz
LOKI_FILENAME=loki-linux-amd64.zip
CORTEX_FILENAME=cortex-linux-amd64
# 初始化 minio
mc alias set nz $MINIO_HOST $MINIO_USER $MINIO_PWD
BUILD_PATH=$CUR_PWD/build
RPM_AGENT_PATH=$BUILD_PATH/opt/nezha/nz-agent
RPM_PROMETHEUS_PATH=$BUILD_PATH/opt/nezha/nz-agentprometheus
RPM_CORTEX_PATH=$BUILD_PATH/opt/nezha/nz-agent/cortex
RPM_LOKI_PATH=$BUILD_PATH/opt/nezha/nz-agent/loki
RPM_SNMP_EXPORTER_PATH=$BUILD_PATH/opt/nezha/nz-agent/snmp_exporter
RPM_BLACKBOX_EXPORTER_PATH=$BUILD_PATH/opt/nezha/nz-agent/blackbox_exporter
mkdir -p $RPM_AGENT_PATH $RPM_PROMETHEUS_PATH $RPM_CORTEX_PATH $RPM_LOKI_PATH $RPM_SNMP_EXPORTER_PATH $RPM_BLACKBOX_EXPORTER_PATH
mkdir -p $RPM_AGENT_PATH/config
echo 'packaging begin ...'
# mvn 编译
mvn clean install -Dxjar.password=2q667Gykpr36Thcjf4JK -Dxjar.excludes=/db/*,/static/**/*
cd ./target && go build xjar.go
cd $CUR_PWD
# 设置可执行权限
chmod +x ./target/xjar
cp -f ./target/nz-agent.xjar $RPM_TALON_PATH
cp -f ./target/xjar $RPM_TALON_PATH
cp -f ./src/main/resources/{application-prod.yml,logback-spring.xml,config/auth.yml,config/token.auth,config/lokiPushUrls.yml} ${RPM_AGENT_PATH}/config
sed -i 's/<property name="log.path" value=".*"/<property name="log.path" value="\/var\/log\/nezha\/nz-agent\/"/g' ${RPM_AGENT_PATH}/config/logback-spring.xml
# 准备 prometheus 编译目录
mc cp nz/depends/prometheus/$PROMETHEUS_FILENAME ./
tar -xzf ./$PROMETHEUS_FILENAME --strip-components 1 -C $RPM_PROMETHEUS_PATH
echo '' > $RPM_PROMETHEUS_PATH/rule.yml
# 准备 cortex 编译目录
mc cp nz/depends/cortex/$CORTEX_FILENAME ./
unzip -o $CORTEX_FILENAME -d ${RPM_CORTEX_PATH}
cp -f ./tools/cortex.yml $RPM_CORTEX_PATH
# 准备 loki 编译目录
mc cp nz/depends/loki/$LOKI_FILENAME ./
unzip -o $LOKI_FILENAME -d ${RPM_LOKI_PATH}
cp -f ./tools/loki.yml $RPM_LOKI_PATH
# 准备 blackbox_exporter 编译目录
mc cp nz/depends/exporter/$BLACKBOX_EXPORTER_FILENAME ./
tar -xzf ./$BLACKBOX_EXPORTER_FILENAME --strip-components 1 -C $RPM_BLACKBOX_EXPORTER_PATH
cp -f ./tools/blackbox.yml $RPM_BLACKBOX_EXPORTER_PATH
# 准备 snmp_exporter 编译目录
mc cp nz/depends/exporter/$SNMP_EXPORTER_FILENAME ./
tar -xzf ./$SNMP_EXPORTER_FILENAME --strip-components 1 -C ${RPM_SNMP_EXPORTER_PATH}
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/$PACKAGE_NAME/$RPM_FULL_NAME
mc cp $BUILD_PATH/$RPM_FULL_NAME.md5sum.txt nz/release/$PACKAGE_NAME/$RPM_FULL_NAME.md5sum.txt
echo 'package finished'
|