详情

首页手游攻略 配置Jenkins自动拉取gitlab中的代码并部署方式实用指南

配置Jenkins自动拉取gitlab中的代码并部署方式实用指南

佚名 2026-08-31 16:50:01

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“配置Jenkins自动拉取gitlab中的代码并部署方式”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。

目录
  • 设置 Jenkins 自动拉取 gitlab 中的代码同时部署
    • 1、安装插件
    • 2、设置 gitlab 用户 root 能够借助 ssh 公钥直接下载代码
    • 3、jenkins添加git用户root的私钥
    • 4、在 Jenkins 新建新的任务
    • 5、将代码发布到web服务器
    • 6、准备自动部署web代码
    • 7、设置代码更新后自动触发jenkins进行部署
    • 8、测试gitlab触发jenkins自动部署
  • 总结

    设置 Jenkins 自动拉取 gitlab 中的代码同时部署

    1、安装插件

    安装以下插件:

    Credentials Plugin(默认已经安装) #签名证书管理插件
    Gitlab Plugin #拉取 gitlab 中的源代码
    SSH Plugin #这个插件使用 SSH 协议远程执行 shell 命令。

    选择对应的插件进行安装。

    • 选择之后点击安装

    • 安装之后重启jenkins

    2、设置 gitlab 用户 root 能够借助 ssh 公钥直接下载代码

    实际处理时,部署 key,让 root 用户能够不输入密码,拿到 gitlab 上的源代码,该 key 是采用 git 下拉代码时采用。

    在gitlab服务器生成公钥,一路回车,不要输入密码

    ssh-keygen

    查看公钥

    cat .ssh/id_rsa.pub

    复制公钥信息,点击添加密钥。

    能够在服务器进行测试

    git clone [email protected]:jcpt/wryjc.git

    不用密码能够进行克隆,表示设置成功

    3、jenkins添加git用户root的私钥

    查看私钥

    cat .ssh/id_rsa

    将私钥内容添加到 Jenkins(private key 选项)

    粘贴私钥信息,点击添加

    实际处理时,root 公钥在 gitlab,root 私钥在 jenkins,这样 jenkins 就能够直接拉取 gitlab 上的代码

    4、在 Jenkins 新建新的任务

    新建项目:

    源码管理选择git,输入代码地址,选择新建好的凭据。

    保存之后,点击构建(Build Now)

    查看控制台输出

    显示success 表示成功。

    代码存放位置在: /var/lib/jenkins/workspace/

    ls /var/lib/jenkins/workspace/

    查看项目文件

    5、将代码发布到web服务器

    在这个场景下,能够借助执行命令或脚本的方式进行代码发布,这里采用 root 用户在各个 web 服务器上发布代码。大家也能够建立一些普通用户如 www 或 apache 来发布。

    实际处理时,若采用普通用户发布代码,要保持所有服务器上的用户 id 一致,这样没有权限的问题。

    实验拓扑图:

    web服务器设置

    安装apache服务,并启动

    yum install httpd -y
    systemctl restart httpd

    测试访问

    http://ip     默认是80端口

    6、准备自动部署web代码

    设置root用户无密码登陆

    将jenkins服务器的ssh key 拷到web服务器

    ssh-copy-id 172.16.251.5

    注:需在哪台机器上自动发布代码,就需让 jenkins 这台机器的 root 用户能够免密码登录到那台服务器上。

    添加构建步骤

    echo '当前 WORKSPACE 工作目录'
    pwd
    #'在构建时,默认会直接切换到 workspace 目录,所以可以直接将当前目录中的内容复制给被部署的服务器
    scp -r ./* [email protected]:/var/www/html/

    添加执行命令

    再次构建

    查看控制台输出

    访问web页面,成功。

    7、设置代码更新后自动触发jenkins进行部署

    添加构建触发器,使gitlab中代码更改时自动拉取最新的代码

    复制该地址 (链接已移除)

    点击生成token后,点击保存

    注:这个 secret token,只用来 gitlab 和 jenkins 上的 wryjc流水线,进行触发和沟通。

    结合项目来看,修改gitlab设置,使Webhook能够对本地网络发送请求,修改后保存。

    落到代码里,生成wryjc项目的webhook钩子,输入jenkins中的地址及token后保存。

    测试webhook,显示200 提示成功

    jenkins平台查看,显示成功。

    8、测试gitlab触发jenkins自动部署

    在git服务器提交代码,验证是否能够自动部署:

    echo "hello this is my devops " >> index.html
    git add index.html
    git commit -m "modify index.html"
    git push -u origin master

    jenkins控制台输出成功。

    访问web页面,内容改变,表示自动部署成功。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多兼容脚本之家。

    您可能感兴趣的文章:

    • 在Ubuntu22.04上采用GitLab和Jenkins部署CI/CD实践
    • Jenkins集成Gitlab实现自动化部署的全过程记录
    • 采用GitLab+Jenkins实现持续集成CI环境的示例
    • GitLab+Jenkins+Maven+Tomcat 实现自动集成、打包、部署
    • docker+gitlab+jenkins从零搭建自动化部署
    • jenkins+gitlab+nginx部署前端应用实现

    相关资讯
    点击查看更多
    游戏推荐
    推荐专题
    热门阅读
    推荐下载