[英]Gitlab runner and flutter_dotenv in CI/CD
我想为 linux 和 flutter 构建一个桌面应用程序,供客户端在受控环境中使用,我的意思是它不是任何人都可以下载的公共应用程序。
我考虑过从 Gitlab 跑步者构建应用程序并将其存储在 gitlab 包中。 然后由我管理的客户通过 gitlab api 下载新版本。
我正在使用flutter_dotenv package 在我的 flutter 应用程序中加载环境变量。 文档建议将.env
文件添加到资产中,并将其添加到.gitignore
中。
事实是,在 CI/CD 中,当我构建将在生产中使用的 flutter 应用程序时,它给出了一个错误,因为.env
文件不存在,但它在资产中被引用。 这是它显示的错误。
我唯一想到的是跑步者本身知道我是为测试还是为生产而.env
。 显然没有其他测试选项,但我不确定这是否是好的做法,也不确定gitlab跑步者是否有责任创建产品环境。
有任何想法吗?
你没有说你的 CI/CD 环境是什么——编辑——我看到了。 GitLab。如果它是 Azure - 您可以将您的 .env 上传到本地安全文件存储,并且在 CI/CD 部署的一个步骤中,您可以将它从安全文件复制到正在构建您的应用程序的工作目录。 这就是我从 Azure 处理 Android 部署丢失的 local.properties 文件的方式
样本为 Azure,也许可以适应 GitLab 格式
- task: DownloadSecureFile@1
name: local_properties
displayName: 'Download local properties'
inputs:
secureFile: 'local.properties'
- script: |
echo Installing $(local_properties.secureFilePath) to the android build folder $(Build.SourcesDirectory)/android ...
sudo cp $(local_properties.secureFilePath) $(Build.SourcesDirectory)/android
sudo chown -R $(whoami) /home/vsts/work/1/s/android/local.properties
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.