说明:Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能
1.jenkins 工作原理
2.安装步骤
2.1 基础服务器安装配置
1.jdk环境:Jenkins是java语言开发的,因需要jdk环境。
2.git/svn环境:需要拉取代码
3.maven环境:因一般java程序是由maven工程,需要maven打包,当然也有其他打包方式,如:gradle
2.2jenkins 安装
1.下载jenkins war包
地址:http://updates.jenkins-ci.org/download/war/
2.启动 (直接通过java -jar jenkins.war启动即可) 默认的端口是 8080
3.浏览器打开:ip:8080
4.填写初始密码,激活系统
5.密码正确.进入到自定义jenkins 页面 选择安装推荐的插件即可
2.3插件安装
先安装一些后续步骤需要的plugin
1.Publish Over SSH (远程代码部署)
2.Deploy to container Plugin
3.gitee (代码在gitee托管平台的话)
3.jenkins配置
3.1Configure System (系统设置)
3.1.1 配置publish over ssh
在系统设置这里,我们只需要设置最后面的一项,配置远程服务器地址,
即我们代码最终运行的服务器地址信息,就像我们之前手动部署时使用xshell登录Linux服务器一样,
当然这里是可以配置多台远程Linux服务器的,配置完成后点击保存即可,为后面我们配置自动化部署做准备,配置如下图
3.1.2配置gitee(若需要)
链接名:输入你想要的名字,这个名字无所谓,后面只是做显示作用
Gitee 域名 URL:输入码云完整URL地址,https://gitee.com(码云私有化客户输入部署的域名),一般填https://gitee.com即可
证书令牌:右边选项点击add,选择jenkins,
Domain:选择全局凭据(Global credentials)
类型(Kind):选择Gitee API 令牌(Gitee API Token)
范围(Scope):根据你个人想要这个凭据在哪个范围可使用,我选的是全局
Gitee APIV5 私人令牌(Gitee API Token):输入你的码云私人令牌,获取地址https://gitee.com/profile/personal_access_tokens
ID和描述:自己随便填,也是作为显示使用而已
添加完成后,选择刚自己添加的这个令牌
3.1Configure Global Security (全局安全配置)
3.1Global Tool Configuration (全局工具配置 )
基础配置
1.maven setting
2.git
3.jdk
4.maven
4.新建Itme 进行部署
大致流程:General(基础配置)--》源码管理--》构建触发器--》构建环境--》构建--》构建后操作
4.1基础配置
4.2源码管理
4.3构建触发器
此处是用的gitee
需要下载gitee、WebHook插件
gitee 的 WebHook回调配置参考(https://blog.csdn.net/u010004317/article/details/90265130)
WebHook的回调配置
4.4构建环境(无需配置)
4.5构建
jenkins上进行构建 mvn clean mvn install
4.6构建后操作
1.构建后操作的意思是,jar打包好后,要将jar/war发送到哪里服务器,发送后和启动等操作
2.这里需要提前在需要部署的服务器上配置好路径,写好启动和停止项目的脚本,并设置为可以执行的脚本,
其实就是我们平时在Linux上手动部署项目操作的脚本
4.7脚本案例
start.sh
#!/bin/bash
export JAVA_HOME=/usr/local/jdk/jdk-11.0.13
echo ${JAVA_HOME}
echo 'Start the program : springboot-rouyi.jar'
chmod 777 /home/xubin/ruoyi-admin.jar
echo '-------Starting-------'
cd /home/xubin/
nohup nohup ${JAVA_HOME}/bin/java -jar ruoyi-admin.jar >nohup.out 2>&1 &
echo 'start success'
stop.sh
#!/bin/bash
echo "Stop Procedure : demo2-0.0.1-SNAPSHOT.jar"
pid=`ps -ef |grep java|grep ruoyi-admin.jar|grep -v grep|awk '{print $2}'`
echo 'old Procedure pid:'$pid
if [ -n "$pid" ]
then
kill -9 $pid
fi
Jenkins 卸载
直接删除文件即可
find / -iname jenkins | xargs -n 1000 rm -rf
参考文档
0.官方文档:https://jenkins.io/zh/doc/ 1.https://www.cnblogs.com/wfd360/p/11314697.html 2.https://study.163.com/course/introduction.htm?courseId=1209455830&_trace_c_p_k2_=564721721abd4eeb995ac09cf91dce46 3.https://blog.csdn.net/u010004317/article/details/90265130