我目前正在嘗試通過CodePipeline自動執行構建和部署過程。當我的代碼在codebuild中完成構建後,我想通過CodeBuild通過aws cli更新我的任務定義並更新我的服務。更新ECS中的任務定義
我在更新服務時遇到問題,因爲我無法跟蹤修訂版號。有沒有辦法讓更新的服務知道使用最新版本?我知道你可以指定一個json,但是我怎樣操縱修訂版本號,以便服務指向我註冊表中的正確圖像?
我目前正在嘗試通過CodePipeline自動執行構建和部署過程。當我的代碼在codebuild中完成構建後,我想通過CodeBuild通過aws cli更新我的任務定義並更新我的服務。更新ECS中的任務定義
我在更新服務時遇到問題,因爲我無法跟蹤修訂版號。有沒有辦法讓更新的服務知道使用最新版本?我知道你可以指定一個json,但是我怎樣操縱修訂版本號,以便服務指向我註冊表中的正確圖像?
讀一點亞馬遜api的文檔,並沒有告訴你哪個是上傳的最後一張圖片。我建議在上傳過程中捕獲能夠在服務中設置的版本。
當你列出圖像時,我給你留下了api的迴應。
響應語法:
{
"imageIds": [
{
"imageDigest": "string",
"imageTag": "string"
}
],
"nextToken": "string"
}
一個可能的方法可以是:
TAG=$(git describe --always)
docker build . -t [acount].dkr.ecr.[zone].amazonaws.com/[app]:TAG
docker push [acount].dkr.ecr.[zone].amazonaws.com/[app]:TAG
更新與圖像任務:
更新服務與任務
希望這可以幫助你
非常感謝你的幫助,我最終使用了CodeBuild和全局環境變量中提供的版本號,這使得跟蹤每個圖像變得非常容易! – Serey
您可以保留版本號(和結腸癌)關閉任務定義的強迫你的服務,使用最新的。 –