logo头像

Edward.K Thinking

Azure DevOps找不到的一個可用的Agent

個人認為這情境絕對是一個意外的Bug,怎說呢,如果今天在Azure DevOps的CI,是透過YAML方式設定。YAML設定可以參考用YAML建置Azure DevOps CI的Pipeline,且如果是發動到地端的Agent執行CI時候,可能會發現有時候跑CI沒有問題,但是過一段時間CI怎不會跑。狀態會一直持續等待,畫面如下圖:


會告訴你,Azure DevOps一直在等待有空的Agent可以去執行,又或是可能是找不到你指定的Agent。但是,如果去Agent Pool看,又會發現所有Agent都是空閒也不忙碌阿,當然,除了自己設定錯誤的Agent外,基本上因該不會發生這狀況才是。這時候呢….


檢查一下自己的地端Agent.Version版本吧,看是否是已經比雲端的Agent版本低。如果是,就趕緊更新Agent.Version。


更新完後,所有等待中的CI,就又會開始自己跑了。而這種現象只會發生在你的CI是透過YAML建置的模式才會有的,我猜測主要是YAML中的Pool指定部分的解析,目前雲跟地的背後需要版本同步才有辦法去解析YAML的內容,如果版本不一致,就會發生找不Agent可以執行CI的問題

上一篇