Jenkins配置Gogs自动构建

Gogs与Jenkins集成实现自动化部署
文章介绍了如何通过Gogs的WebHook与Jenkins的GogsPlugin集成,在代码Push到Gogs时自动触发Jenkins的构建和部署。配置包括在Jenkins中安装插件,设置构建触发器,获取API地址,以及在Gogs端添加Web钩子并修改app.ini文件允许访问。

背景

有项目的代码放在Gogs上托管,然后又通过Jenkins做自动化部署,现在想要在本地代码Push到Gogs上时,Jenkins就执行更新部署。

过程原理

  • Jenkins的Gogs Plugin插件会提供触发打包的API;
  • Gogs的仓库设置提供了Web Hook(钩子);
  • 将Jenkins的API绑定到Gogs Web Hook的推送地址上;
  • 这样就能指定Gogs在Push后将事件推送给Jenkins,然后Jenkins去执行项目构建与部署。

Jenkins Gogs Plugin

在Jenkins的插件管理中可以找到并安装Gogs plugin插件,安装后在具体项目的配置中就可以看到Gogs Webhook的选项,每个选项的具体作用可以点击?按钮查看

image-20230301105921866

另外,在构建触发器中会多出一个选项:Build when a change is pushed to Gogs(在Gogs发生推送事件的时候执行构建),该选项需要勾上才能触发构建。

image-20230301110226596

安装并配置好自动构建后,我们需要手动获取API的地址,

### JenkinsGogs集成使用教程 #### 三级标题:JenkinsGogs集成概述 为了实现持续交付(CD),通常会将版本控制系统如Gogs与CI/CD工具如Jenkins相结合。通过这种方式,每当向Gogs仓库提交更改时,都会触发Jenkins中的自动构建过程[^2]。 #### 三级标题:准备阶段 确保已经安装并运行了JenkinsGogs实例。对于Jenkins而言,需将其配置好以便支持Maven项目的编译打包工作;而对于Gogs,则要保证其能正常接收来自外部系统的请求,并具备创建Webhooks的能力[^3]。 #### 三级标题:Jenkins端设置 在Jenkins中新建一个多分支Pipeline工程来管理不同分支上的代码变更。进入该工程的配置页面,在“Source Code Management”部分选择Git作为SCM方式,并指定远程仓库URL指向自己的Gogs库地址。接着定义用于身份验证的凭证信息(比如SSH密钥)。最后,在“Build Triggers”选项里勾选允许由外部服务调用来启动构建的任务开关。 #### 三级标题:Gogs Webhook配置 转到Gogs平台上对应项目的Settings界面下找到Webhooks菜单项。点击Add webhook按钮新增一条记录,输入先前获取到的有效回调链接——即形似`http://<jenkins-server>/github-webhook/`这样的路径。注意这里的协议头应根据实际情况调整为HTTPS或其他形式。另外还需设定Payload format为JSON格式以匹配Jenkins期望接收到的数据结构。 #### 三级标题:测试连接有效性 完成上述两步之后就可以尝试推送一次新的commit至关联好的Gogs repo看看能否成功激活远端Jenkins job了。如果一切顺利的话应该很快就能看到相应的build log出现在控制台输出区域里面。 ```bash git commit -am "Test integration between Gogs and Jenkins" git push origin master ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值