首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
前端开发
›
Jenkins+Gitlab webhook触发自动构建项目
返回列表
发新帖
Jenkins+Gitlab webhook触发自动构建项目
[复制链接]
发表于 2025-4-18 14:35:31
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
Jenkins+Gitlab webhook触发自动构建项目
效果:只要Gitlab堆栈
代码
更新,Jenkins自动拉取
代码
,自动完成构建使命。无需手动点击“立即构建”大概"参数化构建"
需求场景:
1、项目
代码
的更新迭代较多,运维很有大概不在场,每次点击比力麻烦 2、更新的大概不是代码,大概是一些资源(比如:静态文件等) Jenkins
版本
:2.303.1 Gitlab
版本
:12.6.3
安装
配置
Gitlab
Yum安装即可 , 过程 略 Gitlab平台root用户密码
配置
为12345678
创建一个项目(私有堆栈)
准备测试代码:
后端
服务器
准备
[root@docker-server ~]# tar -xvzf jdk-8u211-linux-x64.tar.gz -C /usr/local/
[root@docker-server ~]# cd /usr/local/
[root@docker-server local]# mv jdk1.8.0_211/ java
[root@docker-server local]# vim /etc/profile
#最文件最后面添加
JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
[root@docker-server local]# source /etc/profile
[root@docker-server local]# java -version
复制代码
[root@docker-server ~]# tar -xvzf apache-tomcat-8.5.45.tar.gz -C /data/application/
[root@docker-server application]# mv apache-tomcat-8.5.45/ tomcat
[root@docker-server application]# ls
tomcat
[root@docker-server application]# rm -rf tomcat/webapps/*
复制代码
安装
配置
Jenkins
安装过程略 1.安装jdk 2.安装Tomcat 3.安装Maven(可选,不确定是否编译) 4.配置环境变量 5.启动
记得配置jdk和maven
安装Gitlab hooks plugins插件
因为要用gitlab hook自动拉取代码的
功能
,需要安装GItlab hooks插件,才具有自动构建的
功能
去“插件管理”页面,“可选插件”,搜索“Gitlab Hook Plugin”,“Gitlab”,点击“直接安装即可”
注意:安装过程和网络有关。网络必须顺畅。且能正常连同国外Jenkins网站,才气下载乐成
新建Gitlab webhook相关项目
Jenkins具体配置
来到Gitlab的test1项目中,复制拉取地址
粘贴到
出现一堆报红,正常!因为需要配置私钥和公钥 需要把Jenkins
服务器
的私钥,配置到test1项目中。把Jenkins
服务器
的公钥,配置到GItlab的服务内里。 这样拉取就可以免密了!
[root@jenkins-server ~]# useradd jenkins
[root@jenkins-server ~]# su - jenkins
[jenkins@jenkins-server ~]$ ssh-keygen
[jenkins@jenkins-server ~]$ cat .ssh/id_rsa #查看jenkins用户的私钥
复制代码
看到仍然报红,将jenkins服务器上面的jenkins用户的公钥添加到gitlab中
登录到jenkins服务器中
[jenkins@jenkins-server ~]$ cat .ssh/id_rsa.pub #查看jenkins用户的公钥
复制代码
构建触发器
Token值作用: Jenkins Webhook Token值用于身份验证,确保只有拥有正确Token的服务器才气触发Jenkins上的构建大概部署等操作。这样做可以防止未经授权的用户触发Jenkins作业,从而掩护你的Jenkins从脚本未授权访问。
要记载下上边的URL和认证密钥,切换到gitlab,找到对应的git库点击setting --> webhook ,填写以下内容
地址:http://192.168.182.130:8080/jenkins/project/test3 Secret token:aab74fc9bd2427f6989e7a2b8ab9b178
配置GItlab
添加完成之后报错
这是因为gitlab 10.6
版本
以后为了
安全
,不允许向本地网络发送webhook请求,设置如下: 登录管理员账号
然后需要再次添加webhook,就会乐成了。
乐成了,才会表现出来
回到jenkins页面
注意:Jenkins需要配置git用户名 和 邮箱地址
[root@git-client ~]# su - jenkins
[root@git-client ~]# git config --global user.email "
[email protected]
"
[root@git-client ~]# git config --global user.name "soho"
复制代码
开始测试
在任何一台测试都可以。我这里在gitlab机器上面测试:
[root@git-client ~]# yum -y install git
[root@git-client ~]# git config --global user.email "
[email protected]
"
[root@git-client ~]# git config --global user.name "fei"
[root@git-client ~]# ssh-keygen #生成秘钥
[root@git-client ~]# cat .ssh/id_rsa.pub #查看生成的公钥添加到gitlab里面去
复制代码
先克隆一下堆栈
[root@git-client ~]# git clone
[email protected]
:root/cloudweb.git
[root@git-client ~]# cd cloudweb
[root@gitlab-server cloudweb]# vi src/main/webapp/index.jsp
复制代码
[root@git-client cloudweb]# git add *
[root@git-client cloudweb]# git commit -m "用户名 和 密码"
[root@git-client cloudweb]# git push origin main
复制代码
返回到jenkins页面查看是否自动
发布
[root@jenkins easy-springmvc-maven]# cd /root/.jenkins/workspace/test3
[root@jenkins test3]# ls
pom.xml README.md src target
复制代码
访问tomcat页面,验证:
基于Git参数化自动构建项目
Gitlab堆栈中有测试项目:github同步过来的
Jenkins配置: 修改原来的"test3"项目:
测试: 推送代码,打tag。代码也会自动构建;
回复
使用道具
举报
返回列表
浏览过的版块
SQL-Server
网络安全
伤心客
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表