本篇為工作上Jenkins突然不能正常使用,最後解決的過程,分成四部分:
1. 問題描述
2. 解法
3. 說明
4. 參考資源
1. 問題描述
Step 1: 建置時卡在以下 (如下圖紅線框住的地方)
using GIT_ASKPASS to set credentials
> C:\Program Files\Git\bin\git.exe fetch --tags --progress http://gitlab.tutorabc.com/TO/TutorGroup.ConsultantProfile.git +refs/heads/*:refs/remotes/origin/*
Step 2: 卡在該位置 (預設timeout 10分鐘) 時會出現以下完整的錯誤資訊,最後整個Jenkins Job建置卡死。
2. 解法
Step 1: 連線到Jenkins Server 主機 (我這邊Jenkins 是架於Windows 的主機上)
開始 -> 命令提示字元 -> 滑鼠右鍵 -> 以系統管理員身分執行
Step 2: 找出Jenkins Server 的Git 布置位置,可以從自己的Jenkins 錯誤中知道位置在哪裡,以下是第一張圖顯示的Git
位置:
C:\Program Fiels\Git\bin
Step3: 將命令提示字元(管理者權限) 移動到該位置,如下圖
輸入cd C:\Program Files\Git\bin 移動到該目錄
cd C:\Program Files\Git\bin
Step 4: 輸入 git config --system --unset credential.helper ,按下Enter
git config --system --unset credential.helper
Step 5: 再重新建置Jenkins Job 就可以正常運行了。 耶~
3. 說明
兩種可能,但都與Git 相關
1. Git 快取 記錄到錯誤的使用者登入Git的帳號、密碼。 ===> 參考4.1
2. Git 與 Jenkins Windows 版本相容性問題,在某些情況下會出現該異常 ===> 參考4.2、4.3
※我們工作的Jenkins 原本都好好的,突然異常
4. 參考資源
4.1 StackFlow 解法: http://stackoverflow.org.cn/front/ask/view?ask_id=10556
4.2 StackFlow 解法: https://stackoverflow.com/questions/36479201/stuck-at-fetch-due-to-authentication-issue
4.3 天空的垃圾場 https://skychang.github.io/2017/09/09/VSTS-Resolve_Git_connection_failure/