maven - 如何在CircleCI构建中使用安全文件?

标签 maven maven-3 circleci

我正在尝试在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中使用环境变量,因此可以执行以下操作:
  • 将您的settings.xml存储在conf/settings.xml中
  • 用如下所示替换任何安全文本:${env.MY_SECURE_TEXT}
  • 在圈子CI配置中设置MY_SECURE_TEXT
  • 在circle.yaml中,添加'-s
    conf/settings.xml”添加到您的Maven构建命令中。
  • 关于maven - 如何在CircleCI构建中使用安全文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26349511/

    相关文章:

    java - 在 websphere 8.5.5.9 上初始化 Spring Boot

    circleci - CircleCi 2.0 上是否提供 Android Espresso 的仪器测试?

    maven - mvn -U 究竟是如何工作的?

    java - Maven 中重复的直接依赖项

    webpack - 由于意外 token ,Circleci 构建失败

    cypress - 无法连接到总线 : Address does not contain a colon

    xml - 如何使用 XML 配置和启用 Spring Data REST?

    java - 尝试使用 Java 代理运行 WebGoat 时崩溃

    java - "to com.zaxxer.hikari.HikariDataSource:"Springboot下绑定(bind)属性失败

    java - wsimport 生成的代码 - 打包代码的最佳实践