当前位置:   article > 正文

Jenkins结合gitee自动化部署SpringBoot项目_gitee spring boot

gitee spring boot

安装

安装教程

插件选择

Gitee Plugin

配置

源码管理

  • 构建触发器
    1.勾选Gitee webhook 触发构建
    2.生成webhook密码

    构建触发器

     

    3.在gitee项目管理中配置webhook

    gitee配置webhook

  • 构建

    使用MAVEN构建

     

    如果没有配置maven请先进系统配置中配置,maven肯定要jdk,所以还需要配置jdk环境

    全局工具配置

     

    填写maven信息

     

    JDK配置

     

    配置ssh服务器信息

    配置ssh

     

    ssh配置

     

    通过ssh远程推送文件

     

    推送文件并执行命令


    下面代码大概意思是吧当前构建完成目录下的源文件去除前缀发送到远程服务器的指定目录,并且执行命令,shell下的sh文件是项目文件

 

配置所需的代码↓

  1. #Source files 源文件
  2. shell/*.sh
  3. #Remove prefix 移除前缀
  4. shell/
  5. #Remote directory 远程目录
  6. /home/jenkins/moodle/
  7. #Exec command 执行命令
  8. #在添加一个Transfer Set
  9. #Source files 源文件
  10. moodle-admin/target/moodle-admin-1.0-SNAPSHOT.jar
  11. #Remove prefix 移除前缀
  12. moodle-admin/target/
  13. #Remote directory 远程目录
  14. /home/jenkins/moodle/admin
  15. #Exec command 执行命令
  16. cd /home/jenkins/moodle
  17. chmod 777 admin.sh
  18. mv admin.sh admin/my.sh
  19. cd admin
  20. ./my.sh restart
  21. #以此类推,如果有多个模块需要启动则添加多个jar
  22. #Source files 源文件
  23. moodle-client/target/moodle-client-1.0-SNAPSHOT.jar
  24. #Remove prefix 移除前缀
  25. moodle-client/target/
  26. #Remote directory 远程目录
  27. /home/jenkins/moodle/client
  28. #Exec command 执行命令
  29. cd /home/jenkins/moodle
  30. chmod 777 client.sh
  31. mv client.sh client/my.sh
  32. cd client
  33. ./my.sh restart

项目结构

项目中shell/admin.sh代码↓

  1. #!/bin/sh
  2. #定义程序名 及jar包的名 请替换成自己的
  3. PROJECT_NAME=moodle-admin-1.0-SNAPSHOT.jar
  4. ## 编写判断程序是否正在运行的方法
  5. isExist(){
  6. ## 首先查找进程号
  7. pid=$(ps -ef | grep ${PROJECT_NAME} | grep -v "grep" | awk '{print $2}')
  8. ## 如果进程号不存在,则返回0 否则返回1
  9. if [ -z "${pid}" ]; then
  10. return 0
  11. else
  12. return 1
  13. fi
  14. }
  15. ## 编写启动程序方法
  16. start(){
  17. ## 调用 判断程序是否正在运行的方法
  18. isExist
  19. ## 判断方法返回值是否等于0 ,等于则不存在
  20. if [ $? -eq "0" ]; then
  21. echo "${PROJECT_NAME} is starting ......"
  22. nohup java -jar ${PROJECT_NAME} --spring.profiles.active=prod > ./startup.log &
  23. echo "${PROJECT_NAME} startup success"
  24. else
  25. echo "${PROJECT_NAME} is running, pid=${pid} "
  26. fi
  27. }
  28. ## 编写停止程序的方法
  29. stop(){
  30. ## 调用 判断程序是否正在运行
  31. isExist
  32. ## 判断是否存在,返回值0不存在
  33. if [ $? -eq "0" ]; then
  34. echo "${PROJECT_NAME} is not running ......"
  35. else
  36. echo "${PROJECT_NAME} is running, pid=${pid}, prepare kill it "
  37. kill -9 ${pid}
  38. echo "${PROJECT_NAME} has been successfully killed ......"
  39. fi
  40. }
  41. ## 编写重启方法
  42. restart(){
  43. ## 先停止再启动
  44. stop
  45. start
  46. }
  47. ## 程序最开始执行的
  48. ## 根据用户输入,判断执行方法
  49. case "$1" in
  50. "start")
  51. start
  52. ;;
  53. "stop")
  54. stop
  55. ;;
  56. "restart")
  57. restart
  58. ;;
  59. *)
  60. echo "please enter the correct commands: "
  61. echo "such as : sh startup.sh [ start | stop | restart ]"
  62. ;;
  63. esac

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

闽ICP备14008679号