赞
踩
原文地址:Jenkins打包部署gitee项目至阿里云ECS服务器 - BIGTREE (whwtree.com)
所需插件:
Git Parameter Plug-In插件
Publish Over SSH插件
Gitee Plugin插件
NodeJS Plugin插件(打包前端所需)
Jenkins安装及配置详见链接:Jenkins安装及基础环境配置
Jenkins配置SSH免密登录:Jenkins配置SSH免密登录
以下为具体配置步骤:
1、Gitee配置
进入Dashboard -- Manage Jenkins -- Configure System,下拉找到Gitee配置部分,如下图示:
图1-Gitee配置
配置内容:
- 链接名:Gitee
- Gitee域名URL:https://gitee.com
- 证书令牌:点击添加按钮,添加Gitee证书令牌
添加Gitee证书令牌如下图示:
图2-添加凭据
添加凭据配置:
- 类型:Gitee API令牌
- 范围:全局 (Jenkins, nodes, items, all child items, etc)
- Gitee APIV5 私人令牌:[gitee生成的token]
- ID:13(整形数字)
- 描述:Gitee API Token
在Gitee配置中,选择刚添加的证书令牌,点击测试链接按钮,如果显示成功,则表明Gitee配置没问题,可继续下一步操作。
2、创建项目及配置
首先,点击“新建Item”,创建项目文件夹;
其次,进入文件夹后,再次点击“新建Item”,输入任务名称创建Freestyle project项目。
General
基础配置如下图示:
图3-基础配置1
图4-基础配置2
配置内容:
- 填写项目描述
- 选择Gitee链接
- 勾选参数化构建项目
- 添加Choice Parameter,参数名:environment
- 选项(每行一个值):
- test
- mgr
-
- 描述分别与选项对应:
- test-测试环境
- mgr-预上线环境
-
- 添加Git Parameter,参数名:branch
- 描述:请选择要发布的分支
- 参数类型:分支
- 默认值:origin/master

源码管理
源码管理配置如下图所示:
图5-源码管理配置
配置内容:
- 选择Git
- 填写Respository URL仓库地址
构建
由于Jenkins所在机器为Windows系统,故:
增加构建步骤选择:Execute Windows batch command
打包命令:
- echo "执行编译打包..."
- mvn clean install
- echo "打包完毕"
构建后操作
构建后操作如下图所示:
图6-构建后操作配置
点击Add Server按钮,选择对应的远程服务器
SSH远程配置:
- SSH Server
- Name:选择环境对应的SSH服务器
- 点击高级:
- 勾选:Verbose output in console 打印控制台日志
- 勾选Label,输入框输入:test,标识当前服务器对应环境
-
- Transfers
- Source files(要上传的源文件):business-admin/target/business-admin.jar
- Remove prefix:business-admin/target/
- Remote directory(上传服务器临时目录):/opt/publish/apple-business-api/
- Exec command:发布shell脚本
具体发布shell脚本如下:
- #!/bin/bash
- source /etc/profile
-
- publishDir=/opt/publish/apple-business-api
- serviceDir=/opt/servers/apple-business/backend
-
- AppName=business-admin.jar
-
- # JVM参数
- JVM_OPTS=" --spring.profiles.active=test -Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
- APP_HOME=`pwd`
- LOG_PATH=$APP_HOME/logs/$AppName.log
-
- function start()
- {
- PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
-
- if [ x"$PID" != x"" ]; then
- echo "$AppName is running..."
- else
- nohup java -jar $AppName $JVM_OPTS > /dev/null 2>&1 &
- echo "Start $AppName success..."
- fi
- }
-
- function stop()
- {
- echo "Stop $AppName"
-
- PID=""
- query(){
- PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
- }
-
- query
- if [ x"$PID" != x"" ]; then
- kill -TERM $PID
- echo "$AppName (pid:$PID) exiting..."
- while [ x"$PID" != x"" ]
- do
- sleep 1
- query
- done
- echo "$AppName exited."
- else
- echo "$AppName already stopped."
- fi
- }
-
-
- cd $serviceDir
-
- echo "停止服务..."
- stop
-
- echo "将jar包拷贝至服务目录..."
- cp $publishDir/business-admin.jar -r -f $serviceDir/business-admin.jar
-
- echo "启动服务..."
- java -version
- start
-
- echo "备份部署的jar包..."
- mkdir -p $publishDir/backup/${BUILD_ID}/
- mv $publishDir/business-admin.jar $publishDir/backup/${BUILD_ID}/
-
- echo "发布完毕..."
-

最后,点击最底下“高级”按钮
勾选Parameterized publishing
Parameter name:与最开始Choice Parameter参数名:environment保持一致
如下图示:
图7-参数化发布配置
点击应用--保存即可。
以上远程发布即配置完成。
构建发布测试
点击Build with Parameters按钮,
选择对应的环境参数和要发布的分支,
点击“开始构建”按钮,执行构建操作。
点击下方构建历史,可查看对应的控制台输出信息。
如下图示:
图8:构建发布
常见构建失败错误:
找不到命令,创建文件夹无权限等问题,具体可根据控制台日志提示修改测试。
原文地址:Jenkins打包部署gitee项目至阿里云ECS服务器 - BIGTREE (whwtree.com)
(完)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。