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