用Jenkins做持續集成時,一般會使用webhooks觸發構建,或者定時構建,這里記錄用URL的方式觸發Jenkins構建。
Note: This assumes you're using Jenkins' own user database for user management rather than LDAP or another directory service.
1. 創建一個新用戶
Manage Jenkins->Manage Users->Create User
輸入用戶名密碼,然后點擊注冊,這里假設用戶名為test
2. 在任務設置中激活Trigger builds remotely (e.g., from scripts),這個token是自己設定的
3. 給用戶添加權限
Manage Jenkins->Configure Global Security
勾選Access Control下的matrix-based security,然后將test用戶添加到列表里面
只需要以下權限即可:
- Overall - Read
- Job - Build
- Job - Read
- Job - Workspace
4. 創建URL
用test賬號登錄,從右上角點擊用戶,進入用戶設置,點擊Show API Token...
根據這些內容,就可以創建一個這樣的URL:
http://test:fe20f2d33760fbeec0a362dbbf59cd18@your-jenkins.com/job/JobName/build?token=
iFdsjS24SDFqp53JGsd9k0Cm
注意這里的your-jenkins.com一般是IP+端口號
最后使用cURL或者Postman發送請求
curl -X POST http://test:fe20f2d33760fbeec0a362dbbf59cd18@your-jenkins.com/job/JobName/build?token=
iFdsjS24SDFqp53JGsd9k0Cm
如果出現403錯誤:No valid crumb was included in the request
請在系統管理 –> Configure Global Security中調整設置:
取消“防止跨站點請求偽造(Prevent Cross Site Request Forgery exploits)”的勾選。