我正在尝试在CircleCI上构建需要访问安全文件的项目。我不能使用环境变量,它必须是文件形式。就我而言,它是一个Maven settings.xml
文件,但是还有其他用例。我能做些什么?
最佳答案
对于这个问题,实际上有很多解决方案:
文件作为环境变量
如果文件内容简短(例如仅输入密码),则可以将整个文件存储为环境变量,然后将这样的一行添加到circle.yaml构建文件中:
echo $SECURE_FILE > mySecureFile
变量替换
如果文件的内容很大,但是文件的一小部分是安全的,则可以将文件存储在代码存储库中,然后使用sed用环境变量替换固定的字符串,如下所示:
sed -e s/SECURE_PASSWORD/${SECURE_PASSWORD}/g mySecureFile.tmpl > mySecureFile
加密文件
您可以加密配置文件并将其检入源存储库,然后将解密 key 存储为环境变量。在构建过程中对其进行解密。
Maven Settings.xml特殊情况
对于Maven settings.xml文件的特殊情况,可以在settings.xml中使用环境变量,因此可以执行以下操作:
${env.MY_SECURE_TEXT}
MY_SECURE_TEXT
conf/settings.xml”添加到您的Maven构建命令中。
关于maven - 如何在CircleCI构建中使用安全文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26349511/