小编Ste*_*oro的帖子

Docker 不复制 .gitignore 中的文件

在我的项目中,我必须docker-in-docker使用 CLoudBuild 从 GitLab 上传 Google CloudRun。我遇到了一个奇怪的错误。我有一个本地版本.env ,我不想将其排除在 git 修订之外。所以我把它放入.gitignore文件中。

但在 CloudBuild 上传过程中,我创建了一个.env使用 GitLab 的 CI/CD 中设置的变量命名的文件。我用这个.gitlab-ci.yml

image: docker:latest

stages:
    - deploy

deploy:
    stage: deploy
    image: google/cloud-sdk
    services:
        - docker:dind
    script:
        - echo CLOUDSQL_PASSWORD=$CLOUDSQL_PASSWORD >> app/.env
        - echo CLOUDSQL_USERNAME=$CLOUDSQL_USERNAME >> app/.env
        - echo CLOUDSQL_HOST=$CLOUDSQL_HOST >> app/.env
        - echo MONGODB_PASSWORD=$MONGODB_PASSWORD >> app/.env
        - echo MONGODB_USERNAME=$MONGODB_USERNAME >> app/.env
        ...
Run Code Online (Sandbox Code Playgroud)

问题是该文件没有被 docker 复制到新容器,并且我无法在 Node.js 应用程序中访问它。看起来 docker 还合并了文件行.gitignore并排除了.envGitLab CI 刚刚创建的文件。

.dockerignore …

git continuous-integration gitlab docker google-cloud-platform

5
推荐指数
1
解决办法
2316
查看次数