天天看點

記一次Drone無法觸發建構的問題

問題

好巧不巧,當你晚上準備上線的時候,在下午臨近下班的時候CI&CD工具出問題了,送出代碼不能觸發建構,不能上線了,Drone平台那邊也下班了,正好CI&CD依賴的公司git倉庫也出問題了(就是上次Drone建構失敗被誤會的部門),我們的建構服務也沒有相關的報錯日志,就順水推鍋取消了上線。

定位

問題沒有定位出來,晚上(别人下班後)立馬check線上的版本,把中間過程的日志都記錄一下看看問題出在哪

CI&CD流程及日志定位

梳理CICD流程,簡易的流程圖如下:

記一次Drone無法觸發建構的問題

隻有管理系統是我們自己的,部署驗證,相關日志如下:

2021-03-05  10:41:16.796 [XNIO-2 task-309] INFO   - ==============部署管理系統,環境:env-new-test===============
2021-03-05  10:41:16.800 [XNIO-2 task-309] INFO   - ==============cloneDir:/tmp/datahub/env-new-test,gitUrl:http://gitlab.xxx.cn/xxx/env-new-test.git===============
2021-03-05  10:41:16.800 [XNIO-2 task-309] INFO   - ==============拉取代碼===============
2021-03-05  10:41:18.089 [XNIO-2 task-309] INFO   - ==============拉取代碼===============
2021-03-05  10:41:18.099 [XNIO-2 task-309] INFO   - ==============deployLogs:businessline-engine:0.1.675,mark-center-new:1.0.124-release.995,*******===============
2021-03-05  10:41:18.107 [XNIO-2 task-309] INFO   - ==============git push===============
           

沒有報錯日志,Git送出也成功了,但是就是沒有觸發建構(上面的鍋推錯了)

柳暗花明

第二天一上班,拉着大佬讨論,大佬看了一下,果然和公司git倉庫那邊沒有關系(我們沒用,drone也沒依賴);一般drone沒有觸發建構原因有二:

1、自己設定的event限制(可自查)   
2、repo session過期 (可關閉repo開關,sync repo後再打開開關)
           

event限制

這個其實是drone.yml裡面的pipeline.deploy.when的配置,相關配置如下:

pipeline:
   deploy:
      image: cicd-maven-***:1.0.2
      when:
         event:
         - push
         branch: master
           

這玩意八百年沒有變過,是以直接排除。

repo session過期

drone的repo session過期機制不是太清楚(後面有機會再研究),直接在drone的右上角點開Repositories菜單,把repo的開關先關閉再打開,再次送出恢複正常。自此問題解決,在此記錄一下,證君清白