记录下
触发方式
Jenkins 插件商店中有一个 Gitea 插件,但其实需求比较简单的话,使用通用方案即可。
我们使用 webhook 方式,具体如下:
- Jenkins 中构建触发器选择“触发远程构建”,并填入身份验证令牌(随机字符串即可)。
- 在 Gitea 仓库-设置-Webhook 中添加新的 Gitea webhook,链接填写第 1 步中显示的 URL,注意替换变量。HTTP 方法为 GET,触发条件和分支过滤自选,勾选激活,然后添加。之后点击测试,即可触发。
踩坑
Jenkins 反向代理配置
需要一些特殊配置,参考:
upstream jenkins {
server 127.0.0.1:8090;
}
server {
listen 80;
server_name jenkins-dev.com;
charset utf-8;
client_body_buffer_size 10M;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_next_upstream error timeout invalid_header http_502 http_503 http_504;
proxy_ignore_client_abort on;
proxy_read_timeout 180;
proxy_buffering on;
proxy_buffer_size 8k;
proxy_buffers 8 8M;
gzip on;
gzip_min_length 1000;
gzip_types text/plain text/css application/json text/xml application/xml application/xml+rss text/javascript;
location / {
proxy_pass http://jenkins;
proxy_redirect default;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
触发报 403 错误
错误信息:403 Authentication required
要在 Jenkins-全局安全设置 中打开匿名用户的可读权限,否则触发必定失败。
参考文章
测试正常,push 触发报 431 错误
错误信息:431 Request Header Fields Too Large
这是 Nginx 反向代理配置中缓存设置过小导致的,适当调大即可。
参考文章
Comments NOTHING