失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Jenkins打包部署gitee项目至阿里云ECS服务器

Jenkins打包部署gitee项目至阿里云ECS服务器

时间:2023-01-18 01:36:41

相关推荐

Jenkins打包部署gitee项目至阿里云ECS服务器

原文地址: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服务器》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。