1 环境
操作环境:centos7
gitea服务器(代码仓库):192.168.41.84
jenkins服务器(自动化部署):192.168.41.81
nginx服务器(测试环境):192.168.41.83
关于各服务器的部署,其他的文章有详细的演示,这里不重复赘述。
2 创建gitea代码项目
为了演示效果,这里创建一个简单的html静态页面的站点。
具体怎么在gitea上面创建一个项目请看其他文章的详细演示。下面是一个创建完成的项目仓库。

3 创建jenkins任务
源码管理的内容截图:

a. 配置gitea代码仓库,就是刚才的gitea项目的地址,然后创建访问的账号,用户名和密码方式。

b.勾选触发器的第一项“”触发远程构建“”,在输入框里输入安全点的密码。然后把红框中的url复制到gitea的web hook的界面
注意jenkins_url和token_name要分别替换成真实的ip或者域名和刚才输入的安全字符串。
4 配置gitea的webhook


找到gitea上面对应的项目,进入仓库配置,选择管理web 钩子选项卡,在目标url中输入刚才jenkins中的地址,选择get方法请求。选中推送事件选项,然后点击更新钩子,并按测试按钮,就会触发测试构建


前面打√表示推送成功,这时候返回jenkins,就会看到有新创建任务出现。

5 疑难问题解决
如果出现以下的报错
Delivery: Post "http://10.147.17.157:8081/job/html_demo/build?token=jenkinsopsdev": dial tcp 10.147.17.157:8081: webhook can only call allowed HTTP servers (check your webhook.ALLOWED_HOST_LIST setting), deny '10.147.17.157(10.147.17.157:8081)'

请确保/dat/gitea/conf/app.ini配置文件有以下的内容,如果没有请将其添加到文件中,并重启服务。
[webhook]
ALLOWED_HOST_LIST = 10.147.17.157
上面的ip(10.147.17.157)修改为jenkins的服务ip
这样代码更新后就会自动执行构建!!!
如果在测试推送时报403

请检测jenkins的【全局安全配置】中,在【授权策略】中,【匿名用户具有可读权限】选项有被勾选。
