有什么方法可以将dotenv与Bitbucket Pipelines一起使用?

时间:2018-08-13 09:36:29

标签: continuous-integration environment-variables bitbucket bitbucket-pipelines

正如标题所述,有什么方法可以将dotenv与Bitbucket Pipelines一起用于CI用途,同时仍将(也许多个)(.stage).env添加到.gitignore?

我知道管道支持environment variables,并且可以引用in bitbucket-pipelines.yml,但是我不知道如何使用dotenv文件,并且根据使用的文件来改变在分支模式上。

例如,我希望对develop的提交使用.test.env变量,而对master的提交则使用.prod.env中的变量。

也许我走错了路?尽管其他网站使用了多个.env文件的示例,但the library authors不鼓励这种方法。我正在使用Zeit Now进行托管,因此我不能仅将.env文件SSH到服务器上。

任何建议都非常受欢迎:-)

2 个答案:

答案 0 :(得分:0)

base64文件中创建一个.env字符串。然后将此字符串复制到管道的环境变量中,请参见此处:https://confluence.atlassian.com/bitbucket/environment-variables-794502608.html

例如,您的内容现在在APP_ENV中定义,那么您可以在管道配置文件中使用此行:

echo $APP_ENV | base64 --decode --ignore-garbage > ./www/.env

现在可以保存了,因为除了管道容器本身之外,没有人知道您在此文件中的秘密。

此方法可用于所有.env文件以及临时文件。 :)

答案 1 :(得分:0)

重命名开发管道中的文件:

mv .test.env .env

或在您的主管道中:

mv .prod.env .env