我有一个Dockerfile,通过使用用户访问令牌从github提取私人仓库:
ARG DEPLOYMENT_TOKEN
RUN git clone https://$DEPLOYMENT_TOKEN:x-oauth-basic@github.com/company-org/api.git /tmpapp/
现在当我在弹性beanstalk中创建一个新应用程序和环境时,如何在首次尝试构建docker镜像并部署时为该访问令牌提供弹性beanstalk?
这可以传递给eb cli命令eb create?
eb create --envvars DEPLOYMENT_TOKEN=$DEPLOYMENT_TOKEN
然后当应用程序尝试创建环境并进行部署时,它将包含环境变量,以便在构建docker镜像时能够从私有仓库中提取?
我知道eb setenv允许您在成功部署后设置环境变量,但我想为docker构建过程执行此操作。
我不想通过使用容器描述中的环境密钥将访问令牌放入Dockerrun文件中。
{
"containerDefinitions": [
{
"name": "myContainer",
"image": "something",
"environment": [
{
"name": "MY_DB_PASSWORD",
"value": "password"
}
],
因为这意味着任何人都可以获得信息,而且我甚至不确定这些信息是否可行。
我也考虑过.ebextensions,现在正在调查。
答案 0 :(得分:0)
AWS有一篇文章:
Microservices Service Discovery
我发现了更多可能对配置服务发现感兴趣的资源。