有什么方法可以将 dotenv 与 Bitbucket 管道一起使用?
Is there any way to use dotenv with Bitbucket Pipelines?
正如标题所说,有什么方法可以将 dotenv 与 Bitbucket 管道一起用于 CI 目的,同时仍将(可能多个)(.stage).env
添加到 .gitignore?
我知道 Pipeline 支持 environment variables, and that they can be referenced in bitbucket-pipelines.yml,但我不知道如何使用 dotenv
文件,并根据分支模式改变要使用的文件。
例如,我想提交给 develop
以使用 .test.env
变量,而提交给 master
则使用来自 .prod.env
.[=21 的变量=]
也许我走错路了?尽管其他网站使用多个 .env
文件的示例,但 the library authors 不鼓励这种方法。我正在使用 Zeit Now 进行托管,所以我不能只将 .env
文件通过 SSH 连接到服务器上。
非常欢迎任何建议:-)
从 .env
文件中创建一个 base64
字符串。然后将此字符串复制到管道的环境变量中,请参见此处:https://confluence.atlassian.com/bitbucket/environment-variables-794502608.html
例如,你的内容现在定义在APP_ENV
,那么你可以在你的管道配置文件中使用这一行:
echo $APP_ENV | base64 --decode --ignore-garbage > ./www/.env
现在保存了,因为除了你的管道容器本身,没有人知道你在这个文件中的秘密。
此方法可用于所有 .env 文件,也可用于暂存文件。 :)
重命名开发管道中的文件:
mv .test.env .env
或在您的主管道中:
mv .prod.env .env
正如标题所说,有什么方法可以将 dotenv 与 Bitbucket 管道一起用于 CI 目的,同时仍将(可能多个)(.stage).env
添加到 .gitignore?
我知道 Pipeline 支持 environment variables, and that they can be referenced in bitbucket-pipelines.yml,但我不知道如何使用 dotenv
文件,并根据分支模式改变要使用的文件。
例如,我想提交给 develop
以使用 .test.env
变量,而提交给 master
则使用来自 .prod.env
.[=21 的变量=]
也许我走错路了?尽管其他网站使用多个 .env
文件的示例,但 the library authors 不鼓励这种方法。我正在使用 Zeit Now 进行托管,所以我不能只将 .env
文件通过 SSH 连接到服务器上。
非常欢迎任何建议:-)
从 .env
文件中创建一个 base64
字符串。然后将此字符串复制到管道的环境变量中,请参见此处:https://confluence.atlassian.com/bitbucket/environment-variables-794502608.html
例如,你的内容现在定义在APP_ENV
,那么你可以在你的管道配置文件中使用这一行:
echo $APP_ENV | base64 --decode --ignore-garbage > ./www/.env
现在保存了,因为除了你的管道容器本身,没有人知道你在这个文件中的秘密。
此方法可用于所有 .env 文件,也可用于暂存文件。 :)
重命名开发管道中的文件:
mv .test.env .env
或在您的主管道中:
mv .prod.env .env