原文地址:Jenkins打包部署gitee项目至阿里云ECS服务器 - BIGTREE ()
所需插件:
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配置
配置内容:
链接名:GiteeGitee域名URL:证书令牌:点击添加按钮,添加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选项(每行一个值):testmgr描述分别与选项对应:test-测试环境mgr-预上线环境添加Git Parameter,参数名:branch描述:请选择要发布的分支参数类型:分支默认值:origin/master
源码管理
源码管理配置如下图所示:
图5-源码管理配置
配置内容:
选择Git填写Respository URL仓库地址
构建
由于Jenkins所在机器为Windows系统,故:
增加构建步骤选择:Execute Windows batch command
打包命令:
echo "执行编译打包..."mvn clean installecho "打包完毕"
构建后操作
构建后操作如下图所示:
图6-构建后操作配置
点击Add Server按钮,选择对应的远程服务器
SSH远程配置:
SSH ServerName:选择环境对应的SSH服务器点击高级:勾选:Verbose output in console 打印控制台日志勾选Label,输入框输入:test,标识当前服务器对应环境TransfersSource files(要上传的源文件):business-admin/target/business-admin.jarRemove prefix:business-admin/target/Remote directory(上传服务器临时目录):/opt/publish/apple-business-api/Exec command:发布shell脚本
具体发布shell脚本如下:
#!/bin/bashsource /etc/profilepublishDir=/opt/publish/apple-business-apiserviceDir=/opt/servers/apple-business/backendAppName=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.logfunction start(){PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`if [ x"$PID" != x"" ]; thenecho "$AppName is running..."elsenohup 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}'`}queryif [ x"$PID" != x"" ]; thenkill -TERM $PIDecho "$AppName (pid:$PID) exiting..."while [ x"$PID" != x"" ]dosleep 1querydoneecho "$AppName exited."elseecho "$AppName already stopped."fi}cd $serviceDirecho "停止服务..."stopecho "将jar包拷贝至服务目录..."cp $publishDir/business-admin.jar -r -f $serviceDir/business-admin.jarecho "启动服务..."java -versionstartecho "备份部署的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 ()
(完)
如果觉得《Jenkins打包部署gitee项目至阿里云ECS服务器》对你有帮助,请点赞、收藏,并留下你的观点哦!