当前位置:   article > 正文

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

jenkins alibaba cloud ecs

原文地址: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配置

配置内容:

  1. 链接名:Gitee
  2. Gitee域名URL:https://gitee.com
  3. 证书令牌:点击添加按钮,添加Gitee证书令牌

添加Gitee证书令牌如下图示:

图2-添加凭据

添加凭据配置:

  1. 类型:Gitee API令牌
  2. 范围:全局 (Jenkins, nodes, items, all child items, etc)
  3. Gitee APIV5 私人令牌:[gitee生成的token]
  4. ID:13(整形数字)
  5. 描述:Gitee API Token

在Gitee配置中,选择刚添加的证书令牌,点击测试链接按钮,如果显示成功,则表明Gitee配置没问题,可继续下一步操作。

2、创建项目及配置

首先,点击“新建Item”,创建项目文件夹;
其次,进入文件夹后,再次点击“新建Item”,输入任务名称创建Freestyle project项目。

General

基础配置如下图示:

图3-基础配置1

图4-基础配置2

配置内容:

  1. 填写项目描述
  2. 选择Gitee链接
  3. 勾选参数化构建项目
  4. 添加Choice Parameter,参数名:environment
  5. 选项(每行一个值):
  6. test
  7. mgr
  8. 描述分别与选项对应:
  9. test-测试环境
  10. mgr-预上线环境
  11. 添加Git Parameter,参数名:branch
  12. 描述:请选择要发布的分支
  13. 参数类型:分支
  14. 默认值:origin/master

源码管理

源码管理配置如下图所示:

图5-源码管理配置

配置内容:

  1. 选择Git
  2. 填写Respository URL仓库地址

构建

由于Jenkins所在机器为Windows系统,故:
增加构建步骤选择:Execute Windows batch command

打包命令:

  1. echo "执行编译打包..."
  2. mvn clean install
  3. echo "打包完毕"

构建后操作

构建后操作如下图所示:

图6-构建后操作配置

点击Add Server按钮,选择对应的远程服务器

SSH远程配置:

  1. SSH Server
  2. Name:选择环境对应的SSH服务器
  3. 点击高级:
  4. 勾选:Verbose output in console 打印控制台日志
  5. 勾选Label,输入框输入:test,标识当前服务器对应环境
  6. Transfers
  7. Source files(要上传的源文件):business-admin/target/business-admin.jar
  8. Remove prefix:business-admin/target/
  9. Remote directory(上传服务器临时目录):/opt/publish/apple-business-api/
  10. Exec command:发布shell脚本

具体发布shell脚本如下:

  1. #!/bin/bash
  2. source /etc/profile
  3. publishDir=/opt/publish/apple-business-api
  4. serviceDir=/opt/servers/apple-business/backend
  5. AppName=business-admin.jar
  6. # JVM参数
  7. 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"
  8. APP_HOME=`pwd`
  9. LOG_PATH=$APP_HOME/logs/$AppName.log
  10. function start()
  11. {
  12. PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
  13. if [ x"$PID" != x"" ]; then
  14. echo "$AppName is running..."
  15. else
  16. nohup java -jar $AppName $JVM_OPTS > /dev/null 2>&1 &
  17. echo "Start $AppName success..."
  18. fi
  19. }
  20. function stop()
  21. {
  22. echo "Stop $AppName"
  23. PID=""
  24. query(){
  25. PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
  26. }
  27. query
  28. if [ x"$PID" != x"" ]; then
  29. kill -TERM $PID
  30. echo "$AppName (pid:$PID) exiting..."
  31. while [ x"$PID" != x"" ]
  32. do
  33. sleep 1
  34. query
  35. done
  36. echo "$AppName exited."
  37. else
  38. echo "$AppName already stopped."
  39. fi
  40. }
  41. cd $serviceDir
  42. echo "停止服务..."
  43. stop
  44. echo "将jar包拷贝至服务目录..."
  45. cp $publishDir/business-admin.jar -r -f $serviceDir/business-admin.jar
  46. echo "启动服务..."
  47. java -version
  48. start
  49. echo "备份部署的jar包..."
  50. mkdir -p $publishDir/backup/${BUILD_ID}/
  51. mv $publishDir/business-admin.jar $publishDir/backup/${BUILD_ID}/
  52. echo "发布完毕..."

最后,点击最底下“高级”按钮
勾选Parameterized publishing
Parameter name:与最开始Choice Parameter参数名:environment保持一致

如下图示:

图7-参数化发布配置


点击应用--保存即可。

以上远程发布即配置完成。

构建发布测试

点击Build with Parameters按钮,
选择对应的环境参数和要发布的分支,
点击“开始构建”按钮,执行构建操作。
点击下方构建历史,可查看对应的控制台输出信息。

如下图示:

图8:构建发布

常见构建失败错误:
找不到命令,创建文件夹无权限等问题,具体可根据控制台日志提示修改测试。

 原文地址:Jenkins打包部署gitee项目至阿里云ECS服务器 - BIGTREE (whwtree.com)

(完)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/771846
推荐阅读
相关标签
  

闽ICP备14008679号