Cloudbees Play:如何保护用于测试和生产的凭据

时间:2014-02-12 04:25:05

标签: security playframework cloudbees

要求:用于测试和生产环境的安全凭证。

我的方法:

  1. 将配置参数存储在本地文件中(即此文件不应位于git-repo中)
  2. 在运行时,使用APP_CONFIG_FILE env变量或命令行参数将此文件的位置提供给PLAY。
  3. 以下是我所面临问题的详细信息。请建议任何有效的解决方案。

    在测试环境中(使用Jenkins):

    1. 将文件存储在/private/myaccount/testing.conf
    2. 选择“Mount Cloudbees Dev @ cloud private WebDav Repository”
    3. 在“Build - > Excute Shell”中,添加以下“export APP_CONFIG_FILE = / private / myaccount / testing.conf”
    4. 在{lay应用程序的Global.java中,使用以下命令获取文件名:String configFilename = Play.application()。configuration()。getString(APP_CONFIG_FILE);
    5. 问题: 在测试套件中,将APP_CONFIG_FILE设置为null。 问题:如何为“游戏测试”传递环境变量

      生产中:

      1. 将文件存储在/private/myaccount/production.conf
      2. 问题: 如何访问RUN @ cloud中的私有存储库?我找不到关于如何做到的文档。

2 个答案:

答案 0 :(得分:0)

在运行时,最佳选择是使用configuration parameters

文件系统在云上不是持久的。但是,如果您想访问云上的ephermal文件系统,可以使用System.getProperty(“java.io.tempDir”)获取路径。

AFAIK,您无法从RUN访问DEV,反之亦然。我认为你应该在DEV和RUN上独立管理你的秘密。

答案 1 :(得分:0)

配置参数作为系统属性注入,因此您可以依靠良好的旧System.getProperty()来获取生产配置值。