配置Jenkins自动拉取gitlab中的代码并部署方式
作者:NorthPath
时间:2026-07-19
浏览:5
首先安装Jenkins必要插件并配置SSH密钥以实现免密拉取代码,然后创建Jenkins任务并设置构建后自动同步到Web服务器,最后一步配置GitLabWebhook使得代码推送时自动触发部署,从而最终完成一套完整的自动化CI/CD流水线搭建。
配置 Jenkins 自动拉取 gitlab 中的代码并部署
在自动化部署这件事上,Jenkins和GitLab的配合几乎是标配了。今天咱们就来走一遍完整的流程,从插件安装到代码自动触发部署,一步步把这条流水线搭起来。整个过程不算复杂,但有几个容易踩坑的细节,需要特别留意。1、安装插件
工欲善其事,必先利其器。在开始配置之前,需要提前准备好几个关键插件:Credentials Plugin(默认已经安装) #签名证书管理插件 Gitlab Plugin #拉取 gitlab 中的源代码 SSH Plugin #这个插件使用 SSH 协议远程执行 shell 命令。找到对应的插件,勾选上就行。



2、设置 gitlab 用户 root 可以通过 ssh 公钥直接下载代码
接下来是关键的一步:配置SSH密钥。目标是让Jenkins所在的机器能以root身份免密拉取GitLab仓库的代码,这是后续所有自动化操作的基础。 在GitLab服务器上生成公钥,一路回车,不要输入密码:ssh-keygen然后查看公钥内容:
cat .ssh/id_rsa.pub




git clone git@172.16.251.6:jcpt/wryjc.git如果不需要输入密码就能成功克隆,说明配置生效了。

3、jenkins添加git用户root的私钥
公钥已经给GitLab了,那私钥自然要放在Jenkins这边,这样它才能用这把“钥匙”去开门。 先查看私钥内容:cat .ssh/id_rsa然后,在Jenkins的“凭据”管理里,添加一个新的“SSH用户名和私钥”类型的凭据,把刚才的私钥内容粘贴进去。



root 公钥在 gitlab,root 私钥在 jenkins,这样 jenkins 就可以直接拉取 gitlab 上的代码
这个配对关系理清了,后面的路就顺了。
4、在 Jenkins 创建新的任务
现在可以开始创建任务了。新建一个“自由风格”的项目。





/var/lib/jenkins/workspace/
ls /var/lib/jenkins/workspace/

5、将代码发布到web服务器
代码拉下来了,接下来就是发布到Web服务器上。这里会用到构建后的操作,通过执行Shell命令,把代码同步到目标服务器。 实验拓扑图如下:
yum install httpd -y systemctl restart httpd测试一下,访问默认页面,确认服务正常。
http://ip 默认是80端口

6、准备自动部署web代码
要让Jenkins能免密登录到Web服务器,还得把它的公钥也拷过去:ssh-copy-id 172.16.251.5
注:需要在哪台机器上自动发布代码,就需要让 jenkins 这台机器的 root 用户可以免密码登录到那台服务器上。
回到Jenkins,在项目的“构建”步骤里,选择“执行shell”,然后输入同步命令:
echo '当前 WORKSPACE 工作目录' pwd #'在构建时,默认会直接切换到 workspace 目录,所以可以直接将当前目录中的内容复制给被部署的服务器 scp -r ./* root@172.16.251.5:/var/www/html/保存配置后,再手动构建一次。



7、配置代码更新后自动触发jenkins进行部署
手动触发固然可行,但自动化部署的精髓在于“自动触发”。接下来,我们配置GitLab的Webhook,让代码一有变动,Jenkins就自动开始干活。 在Jenkins的任务配置里,找到“构建触发器”,勾选“Build when a change is pushed to GitLab”,然后复制生成的URL和Secret Token。


注:这个 secret token,只用于 gitlab 和 jenkins 上的 wryjc流水线,进行触发和沟通。
接下来,进入GitLab,先启用“允许对本地网络发送Webhook请求”的选项(如果Jenkins和GitLab在同一内网)。




8、测试gitlab触发jenkins自动部署
是骡子是马,拉出来遛遛。在GitLab上提交一点改动,看看Jenkins是否会自动响应。echo "hello this is my devops " >> index.html git add index.html git commit -m "modify index.html" git push -u origin master代码推送后,Jenkins的控制台立刻就有了反应,构建成功。


总结
至此,一套完整的Jenkins+GitLab自动拉取、构建、部署的流水线就搭建完成了。整个过程的关键在于:SSH密钥的配对、Jenkins任务的配置,以及Webhook的打通。掌握这几个核心环节,实现“提交即部署”的自动化流程,也就不是什么难事了。
作者最新文章
Windows11台式机高性能模式完整配置教程
2026-10-09 09:41
贵州省住建厅与贝壳集团签署旅居战略合作:五大维度落地方案解析
2026-09-08 18:13
上海链家安住APP:业主主动卖房功能与成交数据解析
2026-09-08 18:11
如何批量将PPT转成PDF格式?PPT转PDF工具怎么选?
2026-09-04 16:03
PDF文件怎么压缩?3个小技巧帮你减小体积
2026-09-03 18:03
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































