一千萬個為什麽

搜索

六個存儲庫作為單個部署Docker + CircleCI



我需要一些幫助,並指出正確的方向。

我有6個git倉庫,它們共同組合了一個更大的應用程序(3個Node.js API,2個React Web應用程序和一個Ansible倉庫以及另一個倉庫的配置文件模板)。

目前我們只用Ansible和CircleCI構建它,但目前的構建過程並不是很好,我想轉向Docker,docker-compose和CircleCI 2.0。

The thing is: how should I dockerize it?

所有的數據庫都是遠程的。我應該如何處理nginx?

我考慮為每個應用程序編寫Dockerfiles,然後使用Ansible連接到主機,安裝Docker,抽取源代碼並從Dockerfiles開始構建容器。

Nginx應該由主機上的Ansible配置,還是可以以某種方式將其配置為Docker容器?

轉載註明原文: 六個存儲庫作為單個部署Docker + CircleCI

一共有 2 個回答:

使用docker撰寫(或者如果要分發容器,則使用docker swarm)為每個Git存儲庫創建一個容器。這應該很好地映射到每個容器用於單一目的的碼頭理念。

就例子而言,我可以推薦你看看 veleda (無恥的自我推銷)結合3個數據庫,燒瓶應用程序,紅寶石應用程序(Grafana),Jekyll和nginx。它還包括集成到Travis-ci中的單元測試,並且應該可以轉換為circle-ci。

關於nginx方面,030已經提到有完成的圖像可以讓你的生活更輕松。即使是那些包含自動化讓我們加密服務一>。

Ansible可以很好地整合到組合中。如果您使用它來安裝依賴關系和網絡配置,則現在由docker處理。對於基於SSH的任務,安全仍然有用。看看這個

及其範圍的責任。

Nginx應該由主機上的Ansible配置,或者可以將其配置為   不知何故,Docker容器?

我們可以從dockerhub中取出nginx並運行它,如下所示:

docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx