32人参与 • 2026-04-15 • 其他编程
安装以下插件:
credentials plugin(默认已经安装) #签名证书管理插件 gitlab plugin #拉取 gitlab 中的源代码 ssh plugin #这个插件使用 ssh 协议远程执行 shell 命令。
选择对应的插件进行安装。



部署 key,让 root 用户可以不输入密码,获取 gitlab 上的源代码,该 key 是使用 git 下拉代码时使用。

在gitlab服务器生成公钥,一路回车,不要输入密码
ssh-keygen
查看公钥
cat .ssh/id_rsa.pub

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

可以在服务器进行测试

git clone git@172.16.251.6:jcpt/wryjc.git
不用密码可以进行克隆,表示配置成功

查看私钥
cat .ssh/id_rsa
将私钥内容添加到 jenkins(private key 选项)


粘贴私钥信息,点击添加

root 公钥在 gitlab,root 私钥在 jenkins,这样 jenkins 就可以直接拉取 gitlab 上的代码

新建项目:


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

保存之后,点击构建(build now)

查看控制台输出

显示success 表示成功。

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

查看项目文件
可以通过执行命令或脚本的方式进行代码发布,这里使用 root 用户在各个 web 服务器上发布代码。大家也可以建立一些普通用户如 www 或 apache 来发布。
如果使用普通用户发布代码,要保持所有服务器上的用户 id 一致,这样没有权限的问题。
实验拓扑图:

web服务器配置
安装apache服务,并启动
yum install httpd -y systemctl restart httpd
测试访问
http://ip 默认是80端口

配置root用户无密码登陆
将jenkins服务器的ssh key 拷到web服务器
ssh-copy-id 172.16.251.5
注:需要在哪台机器上自动发布代码,就需要让 jenkins 这台机器的 root 用户可以免密码登录到那台服务器上。
添加构建步骤

echo '当前 workspace 工作目录' pwd #'在构建时,默认会直接切换到 workspace 目录,所以可以直接将当前目录中的内容复制给被部署的服务器 scp -r ./* root@172.16.251.5:/var/www/html/
添加执行命令

再次构建

查看控制台输出

访问web页面,成功。

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

复制该地址 http://172.16.251.6:8088/project/wryjc

点击生成token后,点击保存

注:这个 secret token,只用于 gitlab 和 jenkins 上的 wryjc流水线,进行触发和沟通。
修改gitlab配置,使webhook可以对本地网络发送请求,修改后保存。

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

测试webhook,显示200 提示成功

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页面,内容改变,表示自动部署成功。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论