参考地址:
Jenkins必须要搭建在公有云上,需要能通过url或者ip地址直接访问
,才能成功配置webhook。
参考: 官方文档安装Jenkins
# jenkinsci/blueocean 是LTS版本
docker run --name jenkins -u root -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --restart=always jenkinsci/blueocean
打开ip:8080
即可访问Jenkins
安装jenkins插件前,先修改Jenkins的插件源为国内源
.
Deploy to container
插件;workflow-aggregator
;Git Parameter
;Git
拉取代码Pipeline
流水线kubernetes
连接k8s动态创建Slave
代理Config File Provider
存储配置文件Extended Choice Parameter
扩展选择框参数,支持多选在Jenkins的全局工具
配置中,指定git的绝对路径
# 每分钟检查一次(5个星)
* * * * *# 其他时间可以根据提示配置
在构建
->Execute shell
–中添加构建指令
# 添加构建指令
echo "building ......"
配置完成后点击保存
.
必须Jenkins有公网ip地址且可被访问
参考:
在Jenkins
的Github插件
的配置中,点击高级
按钮,启用Hook URL,并将Hook URL复制出来,并保存刚才的设置
在github
项目的Settings
中点击Webhooks
,然后点击Add webhook
,在Payload URL
中填写Jenkins复制出来的Hook URL
选择事件: 推送事件,只要有comity就会拉取代码
Jenkins的url地址
/job/项目名称
/build?token=自定义token
访问这个url地址即可远程触发构建。
将这个地址粘贴在github的webhook中,就可以自动触发远程构建
。
Github访问Jenkins的时候,没有携带请求头,不关闭防止跨站点请求伪造
将无法正常访问Jenkins。
在Jenkins的系统管理
-》全局安全配置
-》CSRF Protection
中,取消勾选防止跨站点请求伪造
,然后点击保存
这时候的webhook
需携带验证信息和请求头
# curl模拟访问
curl -X post -v -u admin:admin -H "Jenkins-Crumb:88a12946e078" 192.168.70.131:8080/jenkins/job/ProOne/build?token=自定义token# 携带token访问时的完整的url地址
用户名:密码@192.168.70.131:8080/jenkins/crumblssuer/api/xml
参考
// def 定义变量
def registry = "192.168.0.100" pipeline{// 节点选择agent any// stages-阶段集--分为下面3个步骤stages {// Build阶段stage(Build){// Build的具体步骤steps{// 调用的命令都是shell命令echo '}}// Test阶段stage("Test"){// Test的具体步骤steps{echo '}}// Deploy阶段stage(Deploy){// Deploy的实际步骤steps{echo '}}}
}
本文发布于:2024-02-05 00:02:07,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170719410560964.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |