3
我有一個Dockerfile拉動從GitHub的私人回購協議,通過使用用戶訪問令牌:在彈性提供環境變量彈性魔豆泊塢窗部署
ARG DEPLOYMENT_TOKEN
RUN git clone https://$DEPLOYMENT_TOKEN:[email protected]/company-org/api.git /tmpapp/
現在,當我創建一個新的應用程序,以及環境beanstalk,當它首次嘗試構建docker鏡像並部署時,如何使用該訪問令牌提供彈性beanstalk?
可以將它傳遞給eb cli命令eb create嗎?
eb create --envvars DEPLOYMENT_TOKEN=$DEPLOYMENT_TOKEN
那麼當應用程序試圖創建環境和部署,這將包括環境變量,以便建立泊塢窗圖像時,它將能夠從私人回購拉?
我知道eb setenv允許您在成功部署後設置一個環境變量,但是我想爲docker構建過程執行此操作。
我不想通過使用容器描述中的環境密鑰將訪問令牌放入Dockerrun文件中。
{
"containerDefinitions": [
{
"name": "myContainer",
"image": "something",
"environment": [
{
"name": "MY_DB_PASSWORD",
"value": "password"
}
],
,因爲這意味着該信息提供給任何人,反正我甚至不能確定,將工作。
我也考慮過.eexxtensions,現在正在研究這個問題。
是的,它應該工作,但你爲什麼不乾脆給它一個嘗試,看看會發生什麼 – dkarchmer
@dkarchmer我沒有,但我覺得最大的問題是,如果我要提供的建造時間ARGS然後我在Dockerfile中引用,我需要能夠提供這些構建時間參數。 Dockerrunfile實際上沒有任何文檔,並且從我所看到的沒有任何選項可以包含構建參數 – user1658296
您可能希望避免以這種方式構建。相反,只需將所有代碼放在dockerfile的相同位置,然後讓EB部署釋放所有內容。這樣,您的dockerfile只需要ADD或COPY即可將文件移動到圖像中 – dkarchmer