• 使用Jenkins加gitee自动构建部署SpringBoot项目


    使用Jenkins自动构建部署SpringBoot项目

    前提条件

    • 一台服务器

    建议配置2h4g以上(1h2g的属实有点低了)

    • springboot项目手动用maven打包,且jar包可正常运行

    如果你的是多模块项目(如图),需要配置好打包,否则启动失败

    可浏览文章:SpringBoot多模块打包方式

    首先安装(安装的前提需要有docker环境)

    下载镜像

    docker pull jenkins/jenkins:lts
    
    • 1

    创建目录

    mkdir jenkins_home 
    
    • 1

    启动

    这里第一次启动会失败输入docker ps -a 会发现已经有了只是没启动成功

    docker restart id 将他启动成功

    docker run -di --name=jenkins -p 8080:8080 -v /home/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
    
    • 1

    给权限

    chown -R 1000 /home/jenkins_home
    
    • 1

    打印日志获取密码

    docker logs id
    
    • 1

    在这里插入图片描述

    箭头所指就是密码

    方法二

    [root@localhost data]# cd jenkins_home/secrets/
    [root@localhost secrets]# ll
    总用量 20
    drwxr-xr-x 2 www www  29 914 18:45 filepath-filters.d
    -rw-r----- 1 www www  33 914 18:45 initialAdminPassword
    -rw-r--r-- 1 www www  32 914 18:45 jenkins.model.Jenkins.crumbSalt
    -rw-r--r-- 1 www www 256 914 18:45 master.key
    -rw-r--r-- 1 www www 272 914 18:45 org.jenkinsci.main.modules.instance_identity.InstanceIdentity.KEY
    -rw-r--r-- 1 www www   5 914 18:45 slave-to-master-security-kill-switch
    drwxr-xr-x 2 www www  26 914 18:45 whitelisted-callables.d
    [root@localhost secrets]# cat initialAdminPassword
    730edbb8adcd4ae7b58f14ac3ccd001d
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    Jenkins修改初始密码:https://www.pianshen.com/article/7582333512/

    进入页面后,选择推荐的插件
    在这里插入图片描述

    全部安装成功后

    在这里插入图片描述

    输入自己想给的账户密码就好了

    有一些会安装失败我用的服务器用虚拟机的由于有墙可能访问不到github

    在这里插入图片描述

    点击重试后

    在这里插入图片描述

    大部分都装上了,有几个可能会装不上,到时候可以手动安装,先点确定

    然后创建用户(最好自己创建属于自己的然后点保存并完成)
    在这里插入图片描述

    下一步,URL为,jenkins的IP:端口

    在这里插入图片描述

    插件安装

    在这里插入图片描述

    搜索插件 ssh、maven 先安装那个都行不分先后(红色代表与jenkins版本不匹配)

    在这里插入图片描述

    安装失败重新安装即可(安装成功最底下有成功!)!

    安装jdk

    在这里插入图片描述

    点新增JDK,选择版本,登录下oracle账号:2696671285@qq.com Oracle123

    账号为up主提供的:https://www.bilibili.com/video/BV1wA411c7aS

    在这里插入图片描述

    之后安装maven(如果你的项目不是maven则安装别的插件)

    安装maven

    在这里插入图片描述

    点击应用再保存

    配置凭证

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    然后去添加一个就OK

    在这里插入图片描述

    最好添加一个服务的账户密码和一个gitee的账户密码因为都要用到!

    配置ssh

    在这里插入图片描述

    在这里插入图片描述

    然后点击check cinnection验证是否成功

    构建项目

    在这里插入图片描述

    输入任务名称,选择maven

    在这里插入图片描述

    设置源码管理

    在这里插入图片描述

    设置Maven

    在这里插入图片描述

    设置

    clean package
    
    • 1

    在这里插入图片描述

    然后应用保存

    在这里插入图片描述

    然后我们先构建下等待结束

    在这里插入图片描述

    但是maven下载依赖速度太慢,我们可以手动关闭构建,把镜像配置为阿里云镜像

    修改maven配置

    配置文件在你的jenkins数据目录下,例如我的就是:

    /home/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation

    按照原先方法修改配置文件,把maven远程仓库地址改成阿里云的,这步就不用详细说了吧。

    重新构建

    点击 立即构建

    这次下载速度就快了,构建好的jar包目录在:

    /home/jenkins_home/workspace/-cmxzshen/service/target

    jekins-test:是任务名称(我创建任务时,少打了个n)

    选中查看控制台输出

    在这里插入图片描述

    根据输出就能看到jar的生成目录

    在这里插入图片描述

    然后我们去连接服务器的工具启动看看是否正常

    这个需要手动建

    /data/journalism/logs.txt &

    下面如果怎么运行报错就&改成2>&1

    cd /home/jenkins_home/workspace/项目名称/target
    nohup java -jar 项目.jar > /data/journalism/logs.txt &
    
    • 1
    • 2

    构建后自动部署

    netstat  -nlp|grep 8081
    
    • 1

    强制杀死某个端口进程命令,关闭jar包

    先把刚才开启的jar包服务关掉

    sudo fuser -k -n tcp 8081
    
    • 1

    设置构建环境配置,构建后操作(构建前就不用设置,测试过,填了就出现错误)

    在这里插入图片描述

    Post一定要加执行脚本

    source /etc/profile #初始化配置文件
    sudo fuser -k -n tcp 8081 #杀死8081端口
    cd /home/jenkins_home/workspace/cmxzshen/target  #到你项目路径
    nohup java -jar demo-0.0.1-SNAPSHOT.jar > /home/jenkins_home/logs.txt &  #运行jar包 and写入日志如果&报错就改成2>&1
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Git提交后自动构建

    令牌随便输,URL格式就是下面那个英文说明,根据自己的修改(这里等下配置gitee会用到)

    在这里插入图片描述

    然后应用保存

    配置Gitee的WebHooks

    我这里用的Gitee(学校网进GitHub很不稳定,就选择Gitee了)

    Gitee项目里设置URL和秘钥

    为了安全自己写个服务用来访问触发Jenkins构建的URL,不直接输入之前的URL

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    http://你登录Jenkins账户:账户配置的token下面有教@服务器ip:8080/下面那个地址)build?token=你上面那个token
    
    • 1

    示例

    http://admin:111056a6ea8b6706b4d64354b65c1b7218@150.199.193.49:8080/job/cmxzshen/build?token=cmxz
    
    • 1

    在这里插入图片描述

    配置(admin:这个token,最后面那个token=上面那个token)

    点进去

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    点击添加就好了

    在这里插入图片描述

    完成测试

    Gitee请求成功

    在这里插入图片描述

    jenkins构建成功

    在这里插入图片描述

    这里还有一个大坑

    有些兄弟构建执行脚本之后服务会自动杀掉在脚本后面加一个

    sleep 10  就行了
    
    • 1
  • 相关阅读:
    2023数维杯国际赛数学建模竞赛选题建议及B题思路讲解
    MATLAB2016笔记(九):概率统计( 概率密度、统计作图、统计特征、累积概率分布、随机变量产生)
    压线生填报志愿不用愁,看这一篇就够了
    离散数学 ---- 图论基础 --- 图的引入,表示与分类
    前端工作一年半,离职了!!!
    tarfile.ReadError: not a gzip file
    Day25.组合总和III、电话号码的字母组合
    12 个适合做外包项目的开源后台管理系统
    数据结构——堆
    754. 到达终点数字 : 逐步剖析如何取得最小步数
  • 原文地址:https://blog.csdn.net/weixin_50098749/article/details/125597242