目前我有两个.yml文件,一个用于Travis构建,另一个用于Cloud Foundry部署。
我在cf-manifest.yml中为Cloud Foundry指定了一些秘密环境变量。由于秘密环境变量,我无法使用Travis提供的方便部署选项,因为我不想将cf-manifest.yml推送到我的git存储库。
是否可以使用Travis部署到Cloud Foundry并指定一些环境变量?如果是,我可以只使用Travis提供的加密功能。
答案 0 :(得分:1)
将加密的env变量添加到存储以下信息的.travis.yml:cf user,cf password以及稍后需要为部署的Cloud Foundry应用程序设置的所有秘密环境变量
env:
global:
#CF_USER
- secure: DJSALKDJALKDuiojdklsajdlksajdo83092183jsjsj=
#CF_PASSWORD
- secure: JDjuuuu1u1717187983198238217321983hHHSHSHSH=
#SECRETENVVARIABLE
- secure: JDKLJLKj0888shhshuhdsa45d64dsa1d3sa5d46sads=
在.travis.yml
中维护自定义部署after_success:
- curl -L "https://cli.run.pivotal.io/stable?release=linux64binary&source=github" | tar -zx
- ./cf api https://api.cf.foo.com
- ./cf login -u $CF_USER -p $CF_PASSWORD -o trial -s testing
- ./cf push myspecialapp -b java_buildpack -i 1 -m 1024M -n myspecialapp -p ./target/myspecialapp.war
- ./cf set-env myspecialapp SECRETENVVARIABLE $SECRETENVVARIABLE