Sonarqube v25 之 Azure DevOps 的 CI 參數
目前升級 Sonarqube v25 之後,一些 Azure DevOps 的 CI 需要做對應的修正。
目前升級 Sonarqube v25 之後,一些 Azure DevOps 的 CI 需要做對應的修正。
我們想在地端原有的 Azure DevOps Agent(Based on Linux)對地端的另一台 Linux VM 下一些指令,但某些指令需要使用 sudo 來提權。大致架構如下:
Azure Pipeline(Cloud) ←-> Azure Agent (on-premise,Linux VM) ←-> SSH - sudo commands(on-premise,Linux VM)
前篇使用Azure CLI-自動刪除Azure Container Registry過期映像檔,我寫好了維護 ACR Repository 維護指令碼。我們希望能定期自動化執行這份維護指令碼(或說排程執行也行),這份指令碼有幾個麻煩的地方,一、註解第一行「First we need to login to Azure」,你必須先登入 Azure 帳號,登入之後才能執行 Azure CLI。二、因為需要登入 Azure 帳號,也就被 Azure 帳號這件事給限制住了,它就不太可能離開你的主機去別的地方做自動化。因此,在自動化之前,我們必須先解決 ACR 訪問權限的問題。
同事回報,進行 Kubernetes CD 部署時出現錯誤:
couldn't get current server API group list: the server has asked for the client to provide credentials
unable to recognize "...API.yaml": the server has asked for the client to provide credentials
λ git pull
fatal: Authentication failed for 'https://dev.azure.com/x/y/z/'
公司某些伺服器,管理嚴緊,經過多次溝通後,才准許進行Git與Azure DevOps連線。但Git開通後馬上發現一個另一個問題,要有取Azure DevOps的服務都必須經過身份認證。是可以看到登入畫面,但礙於網路限制,你無法完成身份認證的過程。因此,不論是git pull、git push都卡住了。
早期因為公司網路架構問題,在地端架設的Azure DevOps Agent一直有個問題,就是我們必須手動進行更新。雖然有寫成指令碼來協助,但不能全自動化,就是覺得麻煩。
近期,架構上有所突破,我們可以採取Proxy連線的方式,來重新設定這些地端的Azure DevOps Agent,但在重新設定之後,碰到一些問題,這在整理起來。