jenkins自动化部署详解

一、准备相关软件

整个自动化部署的过程就是从git仓库拉取最新代码,然后使用maven进行构建代码,构建包构建好了之后,通过ssh发送到发布服务的linux服务器的目录,最后在此服务器上执行相关的linux命令进行发布。

此篇文章jenkins的版本是2.440.3, git是1.8.3.1,maven是3.6.3,jdk版本用的是17和8。jenkins.war运行需要用到高版本jdk17,maven用的是jdk8。

1.1 git

centos系统可以yum安装 

1.2 maven

开发、测试、生产所有的环境版本要保持一致,到国内镜像或官网下载zip版本,使用时直接解压,配环境变量

1.3 jenkins

war包方式运行,不同版本的jenkins对应的java版本是不同的,参考官网说明。比如2.440.3版本,java17以上版本可以运行,java8不可以运行。命令参考如下:

 nohup /home/app/jdk-17/bin/java -jar /home/app/jenkins.war --httpPort=8100 > /home/app/logs/jenkins.log 2>&1 &

二、Manage Jenkins/全局配置

2.1 用户名密码

开始就会让你创建admin用户,修改密码的话可以通过右上角“账户->设置->Password”,输两遍密码即可

2.2 系统配置

Jenkins主目录,服务地址,Gitee配置(Gitee Api令牌)。ssh服务器(ip,账户密码,默认的基准目录,建议配置为根路径/,否则任务地方配置的远程目录就有问题了)

Jenkins主目录

jenkins服务地址

Gitee配置(Gitee Api令牌)

SSH服务器配置

2.3 工具配置

jdk(解压目录),maven(settings目录,解压目录),git(可执行的命令终端的目录)
插件配置:git、maven、ssh发布相关的插件

maven的settings配置

jdk配置,可以配置多个

git可执行终端的位置

maven安装目录

2.4 插件下载

核心插件:

  • Git Plugin: 用于从Git仓库拉取代码。这个插件允许Jenkins与Git版本控制系统交互,执行代码检出等操作。
  • Git Parameter : 如果你的构建需要根据不同的Git分支或其他Git参数动态变化,这个插件可以让你在构建触发时选择Git参数。
  • Maven Integration plugin: 这个插件允许Jenkins识别和执行Maven构建任务。它使得Jenkins能够基于Maven的POM.xml文件自动构建Java项目。
  • Publish Over SSH: 如果你的自动化部署流程包括通过SSH将文件传输到远程服务器或在远程服务器上执行命令,这个插件就非常关键。它支持通过SSH安全地上传文件和执行命令。

其他插件:

  • Gitee Plugin: 专门用于与Gitee(码云)平台集成,支持WebHook触发、代码自动检出及构建状态反馈等功能。
  • GitLab Plugin: 允许Jenkins与GitLab进行集成,支持WebHook触发构建、代码同步等功能。
  • GitHub Plugin: 基础插件,用于与GitHub进行基本的集成,如WebHook触发、认证管理等。

三、新建item/任务配置

3.1 git

设置git代码库地址,账号,分支

3.2 Send build artifacts over SSH

即ssh发送构建包到服务器

3.2.1 Source files

构建软件包的源目录Source files(对应"<jenkins_home>/workspace/<job>/"后面的目录)

3.2.2 Remove prefix

Source files中除了构建包包名以外的前缀部分

3.2.3 Remote directory

目标目录(远程服务器存放构建包目录),

3.2.4 Exec command

上传构建包以后要执行的命令,命令多的话,建议放在shell脚本中执行shell就行,如:sh /home/app/scripts/start.sh
Exec command注意点如下:
1)打开执行命令的日志:即Verbose output in console选项打勾,否则你无法知道命令的执行情况,无法更好地排查问题。
2)shell脚本最好在linux上修改,如果是windows的脚本到linux上执行需要额外处理,在非insert模式下输入:set fileformat=unix。因为windows换行是\r\n,而linux的换行是\n。
3)Exec in pty选项有可能影响命令执行,可考虑勾选
4)shell脚本中涉及到的程序构建包和目录,必须要有执行权限。可通过chmod +x命令来
5)shell脚本开头加上这两行,否则有可能找不到shell执行终端和环境变量
#!/bin/bash
source /etc/profile
6)shell脚本结尾加上这行,执行睡眠,否则nohup无法执行成功
sleep 10s

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值