使用 Travis 部署到带有秘密环境变量的 CF
Deploy with Travis to CF with secret environment variables
目前我有两个 .yml 文件,一个用于 Travis 构建,一个用于 Cloud Foundry 部署。
我在 cf-manifest.yml 中为 Cloud Foundry 指定了一些秘密环境变量。由于秘密环境变量,我无法使用 Travis 提供的便捷部署选项,因为我不想将 cf-manifest.yml 推送到我的 git 存储库。
是否可以使用 Travis 部署到 Cloud Foundry 并指定一些环境变量?如果是,那么我可以只使用 Travis 提供的加密功能。
将加密的环境变量添加到 .travis.yml 以存储以下信息:cf 用户、cf 密码以及稍后需要为已部署的 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
目前我有两个 .yml 文件,一个用于 Travis 构建,一个用于 Cloud Foundry 部署。
我在 cf-manifest.yml 中为 Cloud Foundry 指定了一些秘密环境变量。由于秘密环境变量,我无法使用 Travis 提供的便捷部署选项,因为我不想将 cf-manifest.yml 推送到我的 git 存储库。
是否可以使用 Travis 部署到 Cloud Foundry 并指定一些环境变量?如果是,那么我可以只使用 Travis 提供的加密功能。
将加密的环境变量添加到 .travis.yml 以存储以下信息:cf 用户、cf 密码以及稍后需要为已部署的 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