私密配置项_持续交付流水线(老版)_使用指南_云效

阿里云产品文档 xtyly 4年前 (2016-10-28) 4次浏览 已收录 0个评论

应用构建中,通常会需要一些配置项,如:

  • 功能开关
  • 依赖系统的URL
  • 数据库链接用户名密码
  • 对于前两项,云效没有提供额外的支持,推荐您直接在代码中保存不同的配置文件,然后在构建时根据PACKAGE_LABEL的环境变量,选取正确的配置文件。请阅读使用传入参数改变构建行为,了解更多关于PACKAGE_LABEL的用法。第三项中的配置项会涉及一些私密信息,不适合放在代码库中。云效提供了私密配置项的保存功能。您可以在应用的私密配置项页面(https://rdc.aliyun.com/ec/app/xxx/securityConfig) 添加和配置应用级别的私密配置项。比如:私密配置项_持续交付流水线(老版)_使用指南_云效如果您需要在多个环境都使用私密配置项,则可以使用如下的方式:私密配置项_持续交付流水线(老版)_使用指南_云效配置好这些私密配置项之后,在进行构建时,云效会把这些配置项转换成为一个明文的文件,并将其放置在根目录下的rdc_security_config.properties中,比如:rdc_security_config.properties:

    1. db_password=somepasswd

    您可以在自己的构建脚本中读取该文件,并按照您自己的方式进行使用。实例接下来给出一个实际使用的例子:代码库结构:

    1. ├── README.md
    2. ├── build.sh
    3. ├── config
    4. ├── application.prepub.properties
    5. └── application.production.properties
    6. ├── app.release
    7. ├── pom.xml
    8. ├── src

    application.prepub.properties内容

    1. key1=somevalue
    2. key2=somevalue
    3. key3=somevalue
    4. db.password=${db_password}

    私密配置项内容私密配置项_持续交付流水线(老版)_使用指南_云效构建配置(这里给出两个包标签,在构建时会打出两个包):私密配置项_持续交付流水线(老版)_使用指南_云效build.sh内容:

    1. // 将rdc_security_config.properties中与当前PACKAGE_LABEL有关的配置提取出来,去除PACKAGE_LABEL前缀,并转化成为可以source的格式。在这个例子中也就是:export db_password=xxxxxx,最后存入临时文件
    2. cat rdc_security_config.properties | grep ${PACKAGE_LABEL} | sed s/^${PACKAGE_LABEL}./export /g > tmpconfig
    3. cat tmpconfig
    4. // source临时文件,将配置导入到环境变量中
    5. source tmpconfig
    6. // 对指定配置文件(config/application.${PACKAGE_LABEL}.properties)中的环境变量占位符使用环境变量中的值替换,从而变成私密配置项中配置的值
    7. perl -pe 's/${(.*)}/ $ENV{$1} /e' < config/application.${PACKAGE_LABEL}.properties > config/application.properties
    8. // 打印出生成的配置文件的内容,用于调试。实际使用过程中去除该行:
    9. cat config/application.properties
    10. // 删除临时文件及其它环境的配置项,因为产物包不需要这些
    11. rm -rf config/application.*.properties tmpconfig
    12. // 做其它的打包工作,比如mvn package等

    根据构建配置,云效会打出两个包,下面是prepub这个包的构建日志:私密配置项_持续交付流水线(老版)_使用指南_云效对照上面的build.sh,可以看到config/application.properties的值已经变成了预期的内容。

    私密配置项_持续交付流水线(老版)_使用指南_云效


    阿里云百科网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:私密配置项_持续交付流水线(老版)_使用指南_云效
    喜欢 (0)
    [sp91@qq.com]
    分享 (0)
    发表我的评论
    取消评论
    表情 贴图 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址