#!/bin/bash set -evx 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.43.0.linux-amd64.tar.gz SNMP_EXPORTER_FILENAME=snmp_exporter-0.21.0.linux-amd64.tar.gz BLACKBOX_EXPORTER_FILENAME=blackbox_exporter-0.23.0.linux-amd64.tar.gz LOKI_FILENAME=loki-2.7.4.linux-amd64.zip CORTEX_FILENAME=cortex-1.14.1.linux-amd64.zip 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_AGENT_PATH=$BUILD_PATH/opt/nezha/nz-agent RPM_PROMETHEUS_PATH=$BUILD_PATH/opt/nezha/nz-agent/prometheus 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 RPM_JDK_PATH=$RPM_AGENT_PATH/jdk 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 mkdir -p $RPM_JDK_PATH echo 'packaging begin ...' # mvn 编译 # 准备版本信息文件 cat >./src/main/resources/version.properties< $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'