1 Star 0 Fork 18

wy-hut / xuxiaowei-cloud-next

forked from xuxiaowei-cloud / xuxiaowei-cloud-next
暂停
 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
shell.yml 31.10 KB
AI 代码解读
一键复制 编辑 原始数据 按行查看 历史
徐晓伟 提交于 2023-05-25 22:32 . :arrow_up:升级依赖
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713
#
# 使用 shell 执行器 打包
shell-package:
stage: shell-package
script:
# 只能导入一次,否则会报错(开发者自己导入,或者不使用 gpg)
# - GPG_FILE=`find / -name xuxiaowei_0x97A36125_SECRET`
# - echo $GPG_FILE
# - gpg --import $GPG_FILE
- git --version
- echo 常量网址:https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
- echo 常量网址(极狐GitLab中文文档):https://docs.gitlab.cn/jh/ci/variables/predefined_variables.html
- echo 当前分支:$CI_COMMIT_BRANCH
- echo 主分支:$CI_DEFAULT_BRANCH
- echo 项目路径:$CI_PROJECT_DIR
# 在 Shell 执行器中,如果手动导入 gpg,可使用参数 -Pgpg
# 在 Shell 执行器中,如果不指定 settings.xml,可使用系统默认
- mvn clean -e -U package source:jar javadoc:jar install -DskipTests -s settings-private.xml && PACKAGE_FLAG=1
- if [ "$PACKAGE_FLAG" == "1" ]; then echo '打包完成'; else echo '打包失败' && xxxx; fi
cache:
key: "${CI_JOB_NAME}"
paths:
- .m2/repository
- passport-ui/node/
- passport-ui/node_modules/
- ui/node/
- ui/node_modules/
artifacts:
name: package
paths:
- target/*.jar
- target/*.asc
- target/*.pom
- "*/target/*.jar"
- "*/target/*.asc"
- "*/target/*.pom"
- "*/*/target/*.jar"
- "*/*/target/*.asc"
- "*/*/target/*.pom"
- ui/dist
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
#
# shell 发布网关服务
shell-service-gateway:
stage: shell-service
needs:
- job: shell-package
artifacts: true
script:
- JAR_PATH=/home/gitlab-runner/jar/$CI_COMMIT_BRANCH
- echo JAR_PATH:$JAR_PATH
- if [ ! -f $JAR_PATH ]; then sudo mkdir $JAR_PATH -p && echo 创建发布文件夹完成; fi
- MODULE='gateway'
- echo MODULE:$MODULE
- ARTIFACT_ID=`mvn -e -U help:evaluate -pl $MODULE -Dexpression=project.artifactId -q -DforceStdout`
- VERSION=`mvn help:evaluate -pl $MODULE -Dexpression=project.version -q -DforceStdout`
- PACKAGING=`mvn help:evaluate -pl $MODULE -Dexpression=project.packaging -q -DforceStdout`
- APP_NAME=$ARTIFACT_ID-$VERSION.$PACKAGING
- echo APP_NAME:$APP_NAME
- cp $MODULE/target/$APP_NAME $JAR_PATH/$APP_NAME && echo 复制新jar包完成
- SERVICE=/usr/lib/systemd/system/xxw-$MODULE.service
- echo SERVICE:$SERVICE
- JAVA_HOME=/software/dragonwell-17.0.7.0.7+7-GA
- echo JAVA_HOME:$JAVA_HOME
- echo "" > $SERVICE
- echo "[Unit]" >> $SERVICE
- echo "Description=$MODULE" >> $SERVICE
- echo "After=syslog.target" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Service]" >> $SERVICE
- echo "EnvironmentFile=/etc/profile" >> $SERVICE
- echo "ExecStart=$JAVA_HOME/bin/java -jar $JAR_PATH/$APP_NAME --spring.profiles.active=prod" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Install]" >> $SERVICE
- echo "WantedBy=multi-user.target" >> $SERVICE
- echo "" >> $SERVICE
- echo 创建新启动脚本完成
- sudo systemctl enable xxw-$MODULE.service && echo 设置开机启动完成
- sudo systemctl daemon-reload
- sudo systemctl restart xxw-$MODULE.service && echo 重启项目完成
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
- MODULE_STATUS=0
- sleep 30 && echo 增加延时
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '延时查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
#
# shell 发布监控(管理)服务
shell-service-admin-server:
stage: shell-service
needs:
- job: shell-package
artifacts: true
script:
- JAR_PATH=/home/gitlab-runner/jar/$CI_COMMIT_BRANCH
- echo JAR_PATH:$JAR_PATH
- if [ ! -f $JAR_PATH ]; then sudo mkdir $JAR_PATH -p && echo 创建发布文件夹完成; fi
- MODULE='admin-server'
- echo MODULE:$MODULE
- ARTIFACT_ID=`mvn -e -U help:evaluate -pl $MODULE -Dexpression=project.artifactId -q -DforceStdout`
- VERSION=`mvn help:evaluate -pl $MODULE -Dexpression=project.version -q -DforceStdout`
- PACKAGING=`mvn help:evaluate -pl $MODULE -Dexpression=project.packaging -q -DforceStdout`
- APP_NAME=$ARTIFACT_ID-$VERSION.$PACKAGING
- echo APP_NAME:$APP_NAME
- cp $MODULE/target/$APP_NAME $JAR_PATH/$APP_NAME && echo 复制新jar包完成
- SERVICE=/usr/lib/systemd/system/xxw-$MODULE.service
- echo SERVICE:$SERVICE
- JAVA_HOME=/software/dragonwell-17.0.7.0.7+7-GA
- echo JAVA_HOME:$JAVA_HOME
- echo "" > $SERVICE
- echo "[Unit]" >> $SERVICE
- echo "Description=$MODULE" >> $SERVICE
- echo "After=syslog.target" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Service]" >> $SERVICE
- echo "EnvironmentFile=/etc/profile" >> $SERVICE
- echo "ExecStart=$JAVA_HOME/bin/java -jar $JAR_PATH/$APP_NAME --spring.profiles.active=prod" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Install]" >> $SERVICE
- echo "WantedBy=multi-user.target" >> $SERVICE
- echo "" >> $SERVICE
- echo 创建新启动脚本完成
- sudo systemctl enable xxw-$MODULE.service && echo 设置开机启动完成
- sudo systemctl daemon-reload
- sudo systemctl restart xxw-$MODULE.service && echo 重启项目完成
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
- MODULE_STATUS=0
- sleep 30 && echo 增加延时
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '延时查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
#
# shell 发布登录服务
shell-service-passport:
stage: shell-service
needs:
- job: shell-package
artifacts: true
script:
- JAR_PATH=/home/gitlab-runner/jar/$CI_COMMIT_BRANCH
- echo JAR_PATH:$JAR_PATH
- if [ ! -f $JAR_PATH ]; then sudo mkdir $JAR_PATH -p && echo 创建发布文件夹完成; fi
- MODULE='passport'
- echo MODULE:$MODULE
- ARTIFACT_ID=`mvn -e -U help:evaluate -pl $MODULE -Dexpression=project.artifactId -q -DforceStdout`
- VERSION=`mvn help:evaluate -pl $MODULE -Dexpression=project.version -q -DforceStdout`
- PACKAGING=`mvn help:evaluate -pl $MODULE -Dexpression=project.packaging -q -DforceStdout`
- APP_NAME=$ARTIFACT_ID-$VERSION.$PACKAGING
- echo APP_NAME:$APP_NAME
- cp $MODULE/target/$APP_NAME $JAR_PATH/$APP_NAME && echo 复制新jar包完成
- SERVICE=/usr/lib/systemd/system/xxw-$MODULE.service
- echo SERVICE:$SERVICE
- JAVA_HOME=/software/dragonwell-17.0.7.0.7+7-GA
- echo JAVA_HOME:$JAVA_HOME
- echo "" > $SERVICE
- echo "[Unit]" >> $SERVICE
- echo "Description=$MODULE" >> $SERVICE
- echo "After=syslog.target" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Service]" >> $SERVICE
- echo "EnvironmentFile=/etc/profile" >> $SERVICE
- echo "ExecStart=$JAVA_HOME/bin/java -jar $JAR_PATH/$APP_NAME --spring.profiles.active=prod" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Install]" >> $SERVICE
- echo "WantedBy=multi-user.target" >> $SERVICE
- echo "" >> $SERVICE
- echo 创建新启动脚本完成
- sudo systemctl enable xxw-$MODULE.service && echo 设置开机启动完成
- sudo systemctl daemon-reload
- sudo systemctl restart xxw-$MODULE.service && echo 重启项目完成
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
- MODULE_STATUS=0
- sleep 30 && echo 增加延时
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '延时查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
#
# shell 发布MySQL二进制订阅服务
shell-service-canal:
stage: shell-service
needs:
- job: shell-package
artifacts: true
script:
- JAR_PATH=/home/gitlab-runner/jar/$CI_COMMIT_BRANCH
- echo JAR_PATH:$JAR_PATH
- if [ ! -f $JAR_PATH ]; then sudo mkdir $JAR_PATH -p && echo 创建发布文件夹完成; fi
- cd resource-services-parent
- pwd
- MODULE='canal'
- echo MODULE:$MODULE
- ARTIFACT_ID=`mvn -e -U help:evaluate -pl $MODULE -Dexpression=project.artifactId -q -DforceStdout`
- VERSION=`mvn help:evaluate -pl $MODULE -Dexpression=project.version -q -DforceStdout`
- PACKAGING=`mvn help:evaluate -pl $MODULE -Dexpression=project.packaging -q -DforceStdout`
- APP_NAME=$ARTIFACT_ID-$VERSION.$PACKAGING
- echo APP_NAME:$APP_NAME
- cp $MODULE/target/$APP_NAME $JAR_PATH/$APP_NAME && echo 复制新jar包完成
- SERVICE=/usr/lib/systemd/system/xxw-$MODULE.service
- echo SERVICE:$SERVICE
- JAVA_HOME=/software/dragonwell-17.0.7.0.7+7-GA
- echo JAVA_HOME:$JAVA_HOME
- echo "" > $SERVICE
- echo "[Unit]" >> $SERVICE
- echo "Description=$MODULE" >> $SERVICE
- echo "After=syslog.target" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Service]" >> $SERVICE
- echo "EnvironmentFile=/etc/profile" >> $SERVICE
- echo "ExecStart=$JAVA_HOME/bin/java -jar $JAR_PATH/$APP_NAME --spring.profiles.active=prod" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Install]" >> $SERVICE
- echo "WantedBy=multi-user.target" >> $SERVICE
- echo "" >> $SERVICE
- echo 创建新启动脚本完成
- sudo systemctl enable xxw-$MODULE.service && echo 设置开机启动完成
- sudo systemctl daemon-reload
- sudo systemctl restart xxw-$MODULE.service && echo 重启项目完成
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
- MODULE_STATUS=0
- sleep 30 && echo 增加延时
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '延时查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
#
# shell 发布用户服务
shell-service-user:
stage: shell-service
needs:
- job: shell-package
artifacts: true
script:
- JAR_PATH=/home/gitlab-runner/jar/$CI_COMMIT_BRANCH
- echo JAR_PATH:$JAR_PATH
- if [ ! -f $JAR_PATH ]; then sudo mkdir $JAR_PATH -p && echo 创建发布文件夹完成; fi
- cd resource-services-parent
- pwd
- MODULE='user'
- echo MODULE:$MODULE
- ARTIFACT_ID=`mvn -e -U help:evaluate -pl $MODULE -Dexpression=project.artifactId -q -DforceStdout`
- VERSION=`mvn help:evaluate -pl $MODULE -Dexpression=project.version -q -DforceStdout`
- PACKAGING=`mvn help:evaluate -pl $MODULE -Dexpression=project.packaging -q -DforceStdout`
- APP_NAME=$ARTIFACT_ID-$VERSION.$PACKAGING
- echo APP_NAME:$APP_NAME
- cp $MODULE/target/$APP_NAME $JAR_PATH/$APP_NAME && echo 复制新jar包完成
- SERVICE=/usr/lib/systemd/system/xxw-$MODULE.service
- echo SERVICE:$SERVICE
- JAVA_HOME=/software/dragonwell-17.0.7.0.7+7-GA
- echo JAVA_HOME:$JAVA_HOME
- echo "" > $SERVICE
- echo "[Unit]" >> $SERVICE
- echo "Description=$MODULE" >> $SERVICE
- echo "After=syslog.target" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Service]" >> $SERVICE
- echo "EnvironmentFile=/etc/profile" >> $SERVICE
- echo "ExecStart=$JAVA_HOME/bin/java -jar $JAR_PATH/$APP_NAME --spring.profiles.active=prod" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Install]" >> $SERVICE
- echo "WantedBy=multi-user.target" >> $SERVICE
- echo "" >> $SERVICE
- echo 创建新启动脚本完成
- sudo systemctl enable xxw-$MODULE.service && echo 设置开机启动完成
- sudo systemctl daemon-reload
- sudo systemctl restart xxw-$MODULE.service && echo 重启项目完成
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
- MODULE_STATUS=0
- sleep 30 && echo 增加延时
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '延时查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
#
# shell 发布主数据服务
shell-service-master-data:
stage: shell-service
needs:
- job: shell-package
artifacts: true
script:
- JAR_PATH=/home/gitlab-runner/jar/$CI_COMMIT_BRANCH
- echo JAR_PATH:$JAR_PATH
- if [ ! -f $JAR_PATH ]; then sudo mkdir $JAR_PATH -p && echo 创建发布文件夹完成; fi
- cd resource-services-parent
- pwd
- MODULE='master-data'
- echo MODULE:$MODULE
- ARTIFACT_ID=`mvn -e -U help:evaluate -pl $MODULE -Dexpression=project.artifactId -q -DforceStdout`
- VERSION=`mvn help:evaluate -pl $MODULE -Dexpression=project.version -q -DforceStdout`
- PACKAGING=`mvn help:evaluate -pl $MODULE -Dexpression=project.packaging -q -DforceStdout`
- APP_NAME=$ARTIFACT_ID-$VERSION.$PACKAGING
- echo APP_NAME:$APP_NAME
- cp $MODULE/target/$APP_NAME $JAR_PATH/$APP_NAME && echo 复制新jar包完成
- SERVICE=/usr/lib/systemd/system/xxw-$MODULE.service
- echo SERVICE:$SERVICE
- JAVA_HOME=/software/dragonwell-17.0.7.0.7+7-GA
- echo JAVA_HOME:$JAVA_HOME
- echo "" > $SERVICE
- echo "[Unit]" >> $SERVICE
- echo "Description=$MODULE" >> $SERVICE
- echo "After=syslog.target" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Service]" >> $SERVICE
- echo "EnvironmentFile=/etc/profile" >> $SERVICE
- echo "ExecStart=$JAVA_HOME/bin/java -jar $JAR_PATH/$APP_NAME --spring.profiles.active=prod" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Install]" >> $SERVICE
- echo "WantedBy=multi-master-data.target" >> $SERVICE
- echo "" >> $SERVICE
- echo 创建新启动脚本完成
- sudo systemctl enable xxw-$MODULE.service && echo 设置开机启动完成
- sudo systemctl daemon-reload
- sudo systemctl restart xxw-$MODULE.service && echo 重启项目完成
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
- MODULE_STATUS=0
- sleep 30 && echo 增加延时
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '延时查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
#
# shell 发布WebSocket服务
shell-service-websocket:
stage: shell-service
needs:
- job: shell-package
artifacts: true
script:
- JAR_PATH=/home/gitlab-runner/jar/$CI_COMMIT_BRANCH
- echo JAR_PATH:$JAR_PATH
- if [ ! -f $JAR_PATH ]; then sudo mkdir $JAR_PATH -p && echo 创建发布文件夹完成; fi
- cd resource-services-parent
- pwd
- MODULE='websocket'
- echo MODULE:$MODULE
- ARTIFACT_ID=`mvn -e -U help:evaluate -pl $MODULE -Dexpression=project.artifactId -q -DforceStdout`
- VERSION=`mvn help:evaluate -pl $MODULE -Dexpression=project.version -q -DforceStdout`
- PACKAGING=`mvn help:evaluate -pl $MODULE -Dexpression=project.packaging -q -DforceStdout`
- APP_NAME=$ARTIFACT_ID-$VERSION.$PACKAGING
- echo APP_NAME:$APP_NAME
- cp $MODULE/target/$APP_NAME $JAR_PATH/$APP_NAME && echo 复制新jar包完成
- SERVICE=/usr/lib/systemd/system/xxw-$MODULE.service
- echo SERVICE:$SERVICE
- JAVA_HOME=/software/dragonwell-17.0.7.0.7+7-GA
- echo JAVA_HOME:$JAVA_HOME
- echo "" > $SERVICE
- echo "[Unit]" >> $SERVICE
- echo "Description=$MODULE" >> $SERVICE
- echo "After=syslog.target" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Service]" >> $SERVICE
- echo "EnvironmentFile=/etc/profile" >> $SERVICE
- echo "ExecStart=$JAVA_HOME/bin/java -jar $JAR_PATH/$APP_NAME --spring.profiles.active=prod" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Install]" >> $SERVICE
- echo "WantedBy=multi-user.target" >> $SERVICE
- echo "" >> $SERVICE
- echo 创建新启动脚本完成
- sudo systemctl enable xxw-$MODULE.service && echo 设置开机启动完成
- sudo systemctl daemon-reload
- sudo systemctl restart xxw-$MODULE.service && echo 重启项目完成
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
- MODULE_STATUS=0
- sleep 30 && echo 增加延时
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '延时查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
#
# shell 发布WebService服务
shell-service-webservice:
stage: shell-service
needs:
- job: shell-package
artifacts: true
script:
- JAR_PATH=/home/gitlab-runner/jar/$CI_COMMIT_BRANCH
- echo JAR_PATH:$JAR_PATH
- if [ ! -f $JAR_PATH ]; then sudo mkdir $JAR_PATH -p && echo 创建发布文件夹完成; fi
- cd resource-services-parent
- pwd
- MODULE='webservice'
- echo MODULE:$MODULE
- ARTIFACT_ID=`mvn -e -U help:evaluate -pl $MODULE -Dexpression=project.artifactId -q -DforceStdout`
- VERSION=`mvn help:evaluate -pl $MODULE -Dexpression=project.version -q -DforceStdout`
- PACKAGING=`mvn help:evaluate -pl $MODULE -Dexpression=project.packaging -q -DforceStdout`
- APP_NAME=$ARTIFACT_ID-$VERSION.$PACKAGING
- echo APP_NAME:$APP_NAME
- cp $MODULE/target/$APP_NAME $JAR_PATH/$APP_NAME && echo 复制新jar包完成
- SERVICE=/usr/lib/systemd/system/xxw-$MODULE.service
- echo SERVICE:$SERVICE
- JAVA_HOME=/software/dragonwell-17.0.7.0.7+7-GA
- echo JAVA_HOME:$JAVA_HOME
- echo "" > $SERVICE
- echo "[Unit]" >> $SERVICE
- echo "Description=$MODULE" >> $SERVICE
- echo "After=syslog.target" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Service]" >> $SERVICE
- echo "EnvironmentFile=/etc/profile" >> $SERVICE
- echo "ExecStart=$JAVA_HOME/bin/java -jar $JAR_PATH/$APP_NAME --spring.profiles.active=prod" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Install]" >> $SERVICE
- echo "WantedBy=multi-user.target" >> $SERVICE
- echo "" >> $SERVICE
- echo 创建新启动脚本完成
- sudo systemctl enable xxw-$MODULE.service && echo 设置开机启动完成
- sudo systemctl daemon-reload
- sudo systemctl restart xxw-$MODULE.service && echo 重启项目完成
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
- MODULE_STATUS=0
- sleep 30 && echo 增加延时
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '延时查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
#
# shell 发布微信小程序服务
shell-service-wechat-miniprogram:
stage: shell-service
needs:
- job: shell-package
artifacts: true
script:
- JAR_PATH=/home/gitlab-runner/jar/$CI_COMMIT_BRANCH
- echo JAR_PATH:$JAR_PATH
- if [ ! -f $JAR_PATH ]; then sudo mkdir $JAR_PATH -p && echo 创建发布文件夹完成; fi
- cd resource-services-parent
- pwd
- MODULE='wechat-miniprogram'
- echo MODULE:$MODULE
- ARTIFACT_ID=`mvn -e -U help:evaluate -pl $MODULE -Dexpression=project.artifactId -q -DforceStdout`
- VERSION=`mvn help:evaluate -pl $MODULE -Dexpression=project.version -q -DforceStdout`
- PACKAGING=`mvn help:evaluate -pl $MODULE -Dexpression=project.packaging -q -DforceStdout`
- APP_NAME=$ARTIFACT_ID-$VERSION.$PACKAGING
- echo APP_NAME:$APP_NAME
- cp $MODULE/target/$APP_NAME $JAR_PATH/$APP_NAME && echo 复制新jar包完成
- SERVICE=/usr/lib/systemd/system/xxw-$MODULE.service
- echo SERVICE:$SERVICE
- JAVA_HOME=/software/dragonwell-17.0.7.0.7+7-GA
- echo JAVA_HOME:$JAVA_HOME
- echo "" > $SERVICE
- echo "[Unit]" >> $SERVICE
- echo "Description=$MODULE" >> $SERVICE
- echo "After=syslog.target" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Service]" >> $SERVICE
- echo "EnvironmentFile=/etc/profile" >> $SERVICE
- echo "ExecStart=$JAVA_HOME/bin/java -jar $JAR_PATH/$APP_NAME --spring.profiles.active=prod" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Install]" >> $SERVICE
- echo "WantedBy=multi-user.target" >> $SERVICE
- echo "" >> $SERVICE
- echo 创建新启动脚本完成
- sudo systemctl enable xxw-$MODULE.service && echo 设置开机启动完成
- sudo systemctl daemon-reload
- sudo systemctl restart xxw-$MODULE.service && echo 重启项目完成
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
- MODULE_STATUS=0
- sleep 30 && echo 增加延时
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '延时查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
#
# shell 发布微信公众号服务
shell-service-wechat-offiaccount:
stage: shell-service
needs:
- job: shell-package
artifacts: true
script:
- JAR_PATH=/home/gitlab-runner/jar/$CI_COMMIT_BRANCH
- echo JAR_PATH:$JAR_PATH
- if [ ! -f $JAR_PATH ]; then sudo mkdir $JAR_PATH -p && echo 创建发布文件夹完成; fi
- cd resource-services-parent
- pwd
- MODULE='wechat-offiaccount'
- echo MODULE:$MODULE
- ARTIFACT_ID=`mvn -e -U help:evaluate -pl $MODULE -Dexpression=project.artifactId -q -DforceStdout`
- VERSION=`mvn help:evaluate -pl $MODULE -Dexpression=project.version -q -DforceStdout`
- PACKAGING=`mvn help:evaluate -pl $MODULE -Dexpression=project.packaging -q -DforceStdout`
- APP_NAME=$ARTIFACT_ID-$VERSION.$PACKAGING
- echo APP_NAME:$APP_NAME
- cp $MODULE/target/$APP_NAME $JAR_PATH/$APP_NAME && echo 复制新jar包完成
- SERVICE=/usr/lib/systemd/system/xxw-$MODULE.service
- echo SERVICE:$SERVICE
- JAVA_HOME=/software/dragonwell-17.0.7.0.7+7-GA
- echo JAVA_HOME:$JAVA_HOME
- echo "" > $SERVICE
- echo "[Unit]" >> $SERVICE
- echo "Description=$MODULE" >> $SERVICE
- echo "After=syslog.target" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Service]" >> $SERVICE
- echo "EnvironmentFile=/etc/profile" >> $SERVICE
- echo "ExecStart=$JAVA_HOME/bin/java -jar $JAR_PATH/$APP_NAME --spring.profiles.active=prod" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Install]" >> $SERVICE
- echo "WantedBy=multi-user.target" >> $SERVICE
- echo "" >> $SERVICE
- echo 创建新启动脚本完成
- sudo systemctl enable xxw-$MODULE.service && echo 设置开机启动完成
- sudo systemctl daemon-reload
- sudo systemctl restart xxw-$MODULE.service && echo 重启项目完成
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
- MODULE_STATUS=0
- sleep 30 && echo 增加延时
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '延时查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
#
# shell 发布文件服务
shell-service-file:
stage: shell-service
needs:
- job: shell-package
artifacts: true
script:
- JAR_PATH=/home/gitlab-runner/jar/$CI_COMMIT_BRANCH
- echo JAR_PATH:$JAR_PATH
- if [ ! -f $JAR_PATH ]; then sudo mkdir $JAR_PATH -p && echo 创建发布文件夹完成; fi
- cd resource-services-parent
- pwd
- MODULE='file'
- echo MODULE:$MODULE
- ARTIFACT_ID=`mvn -e -U help:evaluate -pl $MODULE -Dexpression=project.artifactId -q -DforceStdout`
- VERSION=`mvn help:evaluate -pl $MODULE -Dexpression=project.version -q -DforceStdout`
- PACKAGING=`mvn help:evaluate -pl $MODULE -Dexpression=project.packaging -q -DforceStdout`
- APP_NAME=$ARTIFACT_ID-$VERSION.$PACKAGING
- echo APP_NAME:$APP_NAME
- cp $MODULE/target/$APP_NAME $JAR_PATH/$APP_NAME && echo 复制新jar包完成
- SERVICE=/usr/lib/systemd/system/xxw-$MODULE.service
- echo SERVICE:$SERVICE
- JAVA_HOME=/software/dragonwell-17.0.7.0.7+7-GA
- echo JAVA_HOME:$JAVA_HOME
- echo "" > $SERVICE
- echo "[Unit]" >> $SERVICE
- echo "Description=$MODULE" >> $SERVICE
- echo "After=syslog.target" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Service]" >> $SERVICE
- echo "EnvironmentFile=/etc/profile" >> $SERVICE
- echo "ExecStart=$JAVA_HOME/bin/java -jar $JAR_PATH/$APP_NAME --spring.profiles.active=prod" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Install]" >> $SERVICE
- echo "WantedBy=multi-user.target" >> $SERVICE
- echo "" >> $SERVICE
- echo 创建新启动脚本完成
- sudo systemctl enable xxw-$MODULE.service && echo 设置开机启动完成
- sudo systemctl daemon-reload
- sudo systemctl restart xxw-$MODULE.service && echo 重启项目完成
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
- MODULE_STATUS=0
- sleep 30 && echo 增加延时
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '延时查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
#
# shell 发布 XXL Job
shell-service-xxl-job-admin:
stage: shell-service
needs:
- job: shell-package
artifacts: true
script:
- JAR_PATH=/home/gitlab-runner/jar/$CI_COMMIT_BRANCH
- echo JAR_PATH:$JAR_PATH
- if [ ! -f $JAR_PATH ]; then sudo mkdir $JAR_PATH -p && echo 创建发布文件夹完成; fi
- MODULE='xxl-job-admin'
- echo MODULE:$MODULE
- ARTIFACT_ID=`mvn -e -U help:evaluate -pl $MODULE -Dexpression=project.artifactId -q -DforceStdout`
- VERSION=`mvn help:evaluate -pl $MODULE -Dexpression=project.version -q -DforceStdout`
- PACKAGING=`mvn help:evaluate -pl $MODULE -Dexpression=project.packaging -q -DforceStdout`
- APP_NAME=$ARTIFACT_ID-$VERSION.$PACKAGING
- echo APP_NAME:$APP_NAME
- cp $MODULE/target/$APP_NAME $JAR_PATH/$APP_NAME && echo 复制新jar包完成
- SERVICE=/usr/lib/systemd/system/xxw-$MODULE.service
- echo SERVICE:$SERVICE
- JAVA_HOME=/software/dragonwell-17.0.7.0.7+7-GA
- echo JAVA_HOME:$JAVA_HOME
- echo "" > $SERVICE
- echo "[Unit]" >> $SERVICE
- echo "Description=$MODULE" >> $SERVICE
- echo "After=syslog.target" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Service]" >> $SERVICE
- echo "EnvironmentFile=/etc/profile" >> $SERVICE
- echo "ExecStart=$JAVA_HOME/bin/java -jar $JAR_PATH/$APP_NAME --spring.profiles.active=prod" >> $SERVICE
- echo "" >> $SERVICE
- echo "[Install]" >> $SERVICE
- echo "WantedBy=multi-user.target" >> $SERVICE
- echo "" >> $SERVICE
- echo 创建新启动脚本完成
- sudo systemctl enable xxw-$MODULE.service && echo 设置开机启动完成
- sudo systemctl daemon-reload
- sudo systemctl restart xxw-$MODULE.service && echo 重启项目完成
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
- MODULE_STATUS=0
- sleep 30 && echo 增加延时
- sudo systemctl status xxw-$MODULE.service && MODULE_STATUS=1
- if [ "$MODULE_STATUS" == "1" ]; then echo '延时查看项目状态成功'; else echo '查看项目状态失败' && xxxx; fi
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
#
# shell 发布UI服务
shell-service-ui:
stage: shell-service
needs:
- job: shell-package
artifacts: true
script:
- MODULE='ui'
- echo MODULE:$MODULE
- RELEASE_PATH=/home/gitlab-runner/node/$MODULE
- if [ ! -f $RELEASE_PATH ]; then sudo mkdir $RELEASE_PATH -p && echo 创建文件夹完成; fi
- echo RELEASE_PATH:$RELEASE_PATH
- if [ ! -f $RELEASE_PATH ]; then sudo mkdir $RELEASE_PATH -p && echo 创建发布文件夹完成; fi
# 此处每次发包仅仅是将新打包完成的文件,复制到需要发布的文件夹(除了 index.html、favicon.ico 等文件外,其他 CSS/JS 文件名不同,不会覆盖。随着发布次数变多,发布文件夹可能会非常大)
# 历史发布的文件没有删除
# 用户刷新页面后使用最新的前端(index.html等)
# 如果发包后需要用户立即使用最新前端,需要将历史文件删除后再进行复制(发布后,用户不刷新,对于没有之前没有点击的页面可能会出现404,刷新页面后即可)
- cp -r ./$MODULE/dist/* $RELEASE_PATH && echo 复制新文件夹完成
rules:
# 仅在 shell 分支中执行
- if: $CI_COMMIT_BRANCH == "shell"
tags:
# 仅在 tags 名称为 shell 的执行器上执行
- plugin-shell
Java
1
https://gitee.com/hut-wy/xuxiaowei-cloud-next.git
git@gitee.com:hut-wy/xuxiaowei-cloud-next.git
hut-wy
xuxiaowei-cloud-next
xuxiaowei-cloud-next
main

搜索帮助