如何让承包商正确访问我的工作流程?

时间:2012-12-13 12:39:20

标签: ruby-on-rails linux ubuntu ssh jenkins

我使用Rails并使用Capistrano将应用程序部署到服务器。我有一个Jenkins服务器(在我自己的linode上)。

我想知道的是如何设置承包商,以便他们有足够的权限完成工作并使用我拥有的工具(如Jenkins),但不允许他们造成任何严重损害。

工作流程可能如此:

  • 提交对私人git repo的更改
  • 部署到Jenkins
  • 将更改部署到登台服务器(我的linode)
  • 将更改部署到实时服务器(客户端的linode)

我使用SSH来处理所有事情,但我想知道我是否可能允许用户访问太多,因为他们可能能够运行sudo命令并更改用户密码并绕过SSH密钥/对身份验证。每个用户是否应该拥有有限的Linux用户帐户(可能共享相同的受限帐户),并将其SSH密钥添加到该用户帐户?

我的另一个问题是,我可以使用Jenkins部署到登台/实时服务器,因此只能从我的Jenkins服务器授予对这些服务器的访问权限吗?

我是否可以通过仅允许开发人员访问git repo来完成所有这些操作?詹金斯追踪,然后部署到升级/生活?

1 个答案:

答案 0 :(得分:2)

基本上,我认为apporach应该是下一个。

  1. 设置jenkins在提交之后运行测试,将其推送到gitolite或您使用的任何内容,并通过电子邮件发送每个人的结果。
  2. 允许承包商部署到分期 - 因为他们需要进行测试。
  3. 只有您可以部署到生产中。
  4. 另外,你不应该在登台机上给他们sudo。只需设置一个部署角色,即可通过代码访问目录。因为你甚至不需要服务器重新启动如果你使用乘客(只需使用触摸%RAILS_ROOT%/ tmp / restart.txt,如果你知道我的意思)并通过rvm设置ruby env