Linux主机configuration进行连续部署?

我们正在build立一个持续部署的主机。 每个应用程序运行在自己的用户帐户下。

目前我们正在研究的方法只是允许持续的构build机器为了部署的目的而具有公共密钥到该应用程序的帐户。

有人担心这可能会造成一个漏洞,所以我们试图看看是否有办法降低风险。 由于我们的第三方构build服务的聚集性,限制对IPv4块的访问并不是真正的select,所以我们需要考虑其他风险缓解方法,作为我们部署过程的一部分。 我不希望持续部署的好处损害我们的生产环境。

任何人都可以提出可以为CI机器提供工作能力的方法,同时确保我们不会打开安全漏洞。 在您尊重的环境中使用的理想方法,以避免纯粹的理论方法。

部署主机使用基于Ubuntu 16.04.2 LTS的VM,通过ssh访问。 服务器将托pipe一个面向基于HTTP的应用程序的Web。

使用SSH密钥你的方式不一定是一个坏的路要走。 如果您真的担心,可以从用于实际运行服务的凭据中分割部署帐户。

你是每次build立一个新的服务器还是重用现有的服务器? 第二个是不太可能积累configuration变化,让你打开,但没有更多关于你的pipe道信息这是一个很难回答的问题。

可以强制命令在连接上运行,这可能会限制可以使用该键执行的操作。 还有许多其他选项可以应用,包括限制连接的源IP。 有关详细信息,请参阅您的手册页中的authorized_keys和/或sshd

对于这样的用法,您可能需要强制执行一个命令将部署拖放到环境中。 可以在连接请求中指定部署,也可以拉取最新的文件。

您可能希望通过NFS提供部署,或者使用scp来推送或拉取构build。