git推后可以使用Ansible进行自动部署吗?

我对Ansible和整个DevOps团队都很陌生。 以前我曾经与Laravel提供的Envoyer经验。 现在我想用Ansible或类似的服务来处理自动部署任务。 我的意思是我希望能够通过单一命令git push部署我的应用程序,根据我推送到应用程序的分支应该部署到不同的服务器。

在我阅读了Ansible之后,看起来我至less需要运行额外的命令,比如执行剧本,而且任何在同一个项目上工作的开发者都需要在本地机器上安装一个。

因此,Envoyer或CodeShip使用git钩子,完成后CodeShip使git拉和运行必要的命令。 不知道Ansible如何可能在这里帮助。

此外,重要的是,当我部署由npm run build构build的前端应用程序时,我只需要部署这个命令的结果,就像一个文件夹连接和缩小的文件一样,保存了构build的结果。 build设过程本身可能应该在另一台机器上完成。 所以我猜Ansible在这里不会帮助我吗?

持续集成工具的主要用例是构build和testing软件包。 像Ansible这样的主要用例的configurationpipe理工具就是安装和configuration主机。

但是,因为任何一个都可以运行任意命令,所以你可以让它们互相调用。 你selectCI可以看一个特定的回购,build立软件,并把它放在某个地方。 CI也可以看到一个不同的回购,它经常调用剧本来部署和configuration。 对软件仓库进行更改并build立固定的软件包,在清单文件中提交一个新的testing虚拟机,并将其configuration为标准configuration。

开发人员不一定要有安装。 他们可以从UNIX服务器testing他们的剧本,只需要Python。 或者使用Tower产品的Web界面。