正如标题所述,有什么方法可以将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到服务器上。
任何建议都非常受欢迎:-)
答案 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