【发布时间】:2018-02-06 15:18:44
【问题描述】:
我们正在考虑为当前使用 Capistrano 部署的 ruby on rails 应用程序设置持续部署。它们存储在 github 上的公共 repo 中。
我已阅读有关如何使用 travis-ci.org 执行此操作的文档,看起来您执行的操作类似于以下内容:-
gem install travis
travis login
travis encrypt DEPLOY_KEY="password" --add
openssl aes-256-cbc -k "password" -in deploy_id_rsa -out config/deploy_id_rsa_enc_travis -a
然后将这个添加到 travis.yml 文件中
after_success:
- "openssl aes-256-cbc -k $DEPLOY_KEY -in config/deploy_id_rsa_enc_travis -d -a -out config/deploy_id_rsa"
- "bundle exec cap deploy"
这个到你的 deploy.rb 文件
set :ssh_options, keys: ["config/deploy_id_rsa"] if File.exist?("config/deploy_id_rsa")
现在我的问题是,这如何保证私钥的安全。我猜你只将以下文件提交到 github 公共仓库。
config/deploy_id_rsa_enc_travis
travis.yml
deploy.rb
并且该私钥应该被删除,而不是提交。
还有什么需要注意的吗?
【问题讨论】:
标签: capistrano travis-ci