Amazon-Ec2

使用 Puppet 部署 Python 程式碼

  • November 29, 2017

我正在嘗試基於 Puppet 為我的 Web 應用程序實現部署系統。

該應用程序包含多個服務(幾個 Web 伺服器:基於 Django 和 Tornado 以及一個基於 Celery 的工作器)。他們生活在不同的git儲存庫中,託管在 github 上。

我在以前的項目中使用過 Chef。在 Chef 的情況下,部署這樣的東西會很容易:我只需使用git資源來檢查這個特定節點的必要程式碼,然後設置其他所有內容。

但是,我不明白它是如何在 Puppet 中完成的。我沒有git在文件中找到類型。我試過用Google搜尋它,但從我發現的情況來看,git從 Puppet 簽出和更新程式碼似乎不是一項通常的任務。

顯然,我假設的工作流程對於 Puppet 來說有些不同尋常。我可以試試別的。使用 Puppet 部署此類應用程序的自然方式是什麼?

我會使用fabric來部署Python 程式碼——事實上,我會​​這樣做。但是如果你想要的只是 git 的東西,這裡有一個我使用vcsrepo 模組的 puppet 配置範例:

vcsrepo { '/var/www/gitorious':
   ensure   => present,
   owner    => 'git',
   source   => 'git://gitorious.org/gitorious/mainline.git',
   revision => 'v2.2.1',
   provider => git,
}   

一般來說,當您希望在緊迫的時間內完成任務時,Puppet 不是一個好工具。這些任務的 Puppetlabs 解決方案是MCollective,我使用過但不喜歡它。

引用自:https://serverfault.com/questions/392649