....
<title>Error 403 No valid crumb was included in the request</title>
....
就代表你有啟動比較安全的機制 CSRF Protection( 預設是啟動的 )。
要如何解決呢? 請繼續往下看😊
CSRF Protection
主要是防止 CSRF 攻擊,
如果不知道什麼是 CSRF ,可參考我之前寫的 CSRF-tutorial 📝
管理 Jenkins -> 設定全域安全性
防範 CSRF 入侵預設有被打勾
把打勾取消,就可以用剛剛的方法了。
但是,如果我還是希望打勾防範 CSRF 入侵,那我該怎麼辦呢😬
這時候,必須先得到 Jenkins-Crumb
curl -s -u twtrubiks:8d3215553ca9623300f4967827c61291 http://localhost:8080/crumbIssuer/api/json
-s
參數說明
-s/–silent Silent mode. Don’t output anything
然後再將 Jenkins-Crumb 的值帶進去,如下( 假設 job 為 demo )
curl -X POST http://localhost:8080/job/demo/build --user twtrubiks:8d3215553ca9623300f4967827c61291 -H "Jenkins-Crumb:6fbe69cd42a261330cb37e74af1ed1d1"
-H
參數說明
-H/–header Custom header
如果沒跳出任何資訊 ( 有跳訊息通常是有錯誤 ),就代表成功了👍
你可以回到你的 Jenkins ,你會發現他自動開始 build 了 😆
ref from: https://github.com/twtrubiks/docker-jenkins-django-tutorial/blob/master/README.md