2017-10-13 132 views
0

我正在用TFS構建Docker鏡像。在構建映像後,我想將其推送到Amazon EC2容器註冊表(ECR)。使用TFS將Docker鏡像部署到AWS ECR

什麼是實現這一目標的最佳途徑?

有一個extension for TFS例如將數據上傳到AWS S3或運行AWS CLI命令。使用CLI,我可以運行aws ecr get-login --no-include-email --region xxx,然後手動推送圖像。由於我們的buildserver是一臺linux機器,並且「Windows PowerShell腳本的AWS工具」只能在Windows上運行,所以它也不起作用。

回答

0

我會避免擴展,只是想出如何讓TFS在成功構建時觸發shell腳本。 (我不知道如何做這個等式的一半,但我知道如何做其餘的)。

你可以下載AWS CLI for Unix,它給你這個命令。然後按照您所看到的docker login $(aws ecr get-login --no-include-email --region xxx)docker push您的圖像到您創建的ECR。

我見過的最好的做法是保持一點「構建腳本」像這樣在同一個存儲庫中的代碼,像一個build-scripts文件夾或東西。然後,「困難的部分」只是掛鉤TFS來成功運行該腳本,這就是所有需要知道的。

+0

非常感謝您的回覆。使用TFS運行腳本不是問題。這裏我不喜歡的部分是我需要在腳本中硬編碼AWS的密碼。這是不好的,因爲任何人都可以看到它,如果我需要改變它,我需要在每個項目中改變它。 從來沒有這樣的路要走,但對我來說只有一個選擇,如果沒有其他方式。 – Mathias

+0

AWS CLI允許您將憑據信息放置在三個(或更多?)不同的地方。我能想到的頭腦是〜/ .aws中的文本文件,AWS CLI尋找的環境變量,或者是我認爲cli應用程序的參數。文件的方法會給你一個放置信譽的通用地方,所以你可以在很多項目中使用它們。 – RyanWilcox

相關問題