IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> jenkins+springboot+gitee自动化部署 -> 正文阅读

[系统运维]jenkins+springboot+gitee自动化部署

jenkins+springboot+gitee自动化部署

使用前置条件:Linux服务器上已经安装并成功配置了jdk、git、maven

Jenkins安装

  • 官网下载地址:jenkins下载 得到jenkins.war包

  • 将war包部署到Linux服务器上,在对应文件夹目录下后台运行

  • nohup java -jar jenkins.war &
    

* [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WCbDJblw-1637849354657)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125213918972.png)]

  • 查看对应文件获取初始密码
#cat /上述文件地址
cat /root/.jenkins/secrets/initialAdminPassword
  • 这里选择“安装推荐的插件”,也可以根据自己需求“选择插件来安装”
    * [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cp0Y3Tkd-1637849354660)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125214057154.png)]](https://img-blog.csdnimg.cn/662fe865ee4c4d7aa3d73ef455ac9cfc.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAbTBfNTI5NTM2ODA=,size_20,color_FFFFFF,t_70,g_se,x_16)

  • 等待下载
    * [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mz1pZrQM-1637849354662)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125214202741.png)]

  • 下载成功,创建用户,也可以使用admin用户

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BAIMsRfJ-1637849354664)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125214236679.png)]

  • 安装完成

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e6fYHBWP-1637849354666)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125214246603.png)]

jenkins配置

  • 系统管理界面,根据自己需求进行配置

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QeFUNEKY-1637849354668)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125214449697.png)]
  • 全局安全配置
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZgVHvCSE-1637849354669)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125214511205.png)]

  • 全局工具配置

    • Maven Configuration:配置服务器上的maven环境

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eJv3bS27-1637849354669)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125214555069.png)]
    • JDK:配置服务器上的jdk环境

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-32eW1sZN-1637849354670)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125214641569.png)]
    • Maven

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9r7lwPpR-1637849354671)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125214740520.png)]
    • Git:配置服务器上的git环境

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cNU3WO4I-1637849354673)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125214825857.png)]

安装插件

所需插件:Deploy to container Plugin、Gitee Plugin

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lEkL1ZiX-1637849354674)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125215030971.png)]

新建项目

  • 创建工程

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZIZBlWxY-1637849354675)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125215203796.png)]
  • 构建一个maven项目

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Ae8ZEus-1637849354675)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125215245201.png)]
  • 进入配置

    • 选择之前配置好的git环境

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i7YRw2qf-1637849354676)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125215332323.png)]
    • 源码管理:输入自己gitee项目仓库的url,添加账号密码

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nVHHnKpU-1637849354677)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125215419574.png)]
    • 构建触发器:此处使用的是gitee的webhook

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IJ2CE5zs-1637849354677)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125215702884.png)]

      • 生成webhook密码

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OMTnuVk5-1637849354678)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125215613527.png)]

      • 在自己gitee仓库的管理处的WebHooks处,添加webhook

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wNPpn5bS-1637849354679)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125215850491.png)]

      • 输入刚才“构建触发器”出获得的url和webhook密钥,选择事件可以根据自己需求选择

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o4FNfEoN-1637849354680)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125215949179.png)]

      • 添加后,点击测试,可观察是否测试成功

    • build配置

      • 关于maven执行的相关代码

      • clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true
        
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2YSpRjcK-1637849354680)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125220117715.png)]

      • 触发器触发后所执行的shell脚本

      • #!/bin/sh
        
        echo "开始执行shell脚本"
        
        # 在jenkins环境中一定要加这句话,否则这个脚本进程最后会被杀死
        export BUILD_ID=dontKillMe
        
        # 指定jenkins中存放编译好的jar的位置
        JENKINS_JAR_PATH=xxx/xxx/xxx
        
        # 指定jenkins中存放编译好的jar的名称(这个jar的名字和pom文件配置有关)
        JENKINS_JAR_NAME=xxx.jar
        
        
        # 获取该项目的进程号,用于重新部署项目前杀死进程  
        process_id=$(ps -ef | grep ${JENKINS_JAR_NAME} | grep -v "grep" | awk '{print $2}')
        
        # 如果该项目正在运行,就杀死项目进程
        if [[ ! -z "$process_id" ]]
        then 
        	echo "停止服务"
            kill -9 $process_id
        else 
        	echo "服务未启动"
        fi
        
        
        # 进入Jenkins中编译好的jar的位置
        cd ${JENKINS_JAR_PATH}
        
        
        # 后台启动项目,并且将控制台日志输出到同级目录下的Log.log中
        
        nohup java -jar ${JENKINS_JAR_NAME} > Log.log 2>&1 & 
        
        echo "shell脚本执行完毕"
        
      • 点击保存

      • 进入项目后点击“立即构建”,即可构建成功

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-shI2jwFa-1637849354681)(C:\Users\刘杰\AppData\Roaming\Typora\typora-user-images\image-20211125220506579.png)]

自此,jenkins自动化部署已部署完毕。之后,只要gitee上的webhook一触发,jenkins就会自动触发对应脚本,实现不用重新上传jar包到服务器上即可完成项目的更新。

参考:

jenkins+springboot+git自动化部署

尚硅谷Jenkins项目开发集成测试视频教程

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-26 09:15:07  更:2021-11-26 09:17:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:20:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码