jenkins swarm 結合使用

簡單記錄下jenkins 和 swarm 結合安裝使用過程和注意事項

安裝配置過程:

1、各伺服器安裝docker (不詳細介紹了,網上都有)。

2、安裝warm (網上有詳細安裝方法,比如 http://www.cnblogs.com/rio2607/p/4445968.html,推進用第二種安裝方法,即以靜態IP形式加入warm 叢集)。

3、jenkins 外掛安裝。安裝docker 外掛即可。因為swarm 的叢集把多個的docker API  集合起來變為一個API 入口,而且這個swarm API 和 docker API 基本一致,即swarm API 是相容docker API ,讓使用者在操作docker 叢集時,感覺和操作一個的docker 一樣。

安裝外掛後進入jenkins 系統管理,新增一個雲,可以到如圖所示:

需要注意的幾個選項:

docker URL ,這裡填docker API URL地址,注意埠號,如果填的 是warm 叢集,那這個外掛管理就是這個docker URL所在主機內的的 docker容器,如果填的是swarm API 地址,則管理的是swarm 叢集。

Container Cap,總的管理的最大容器數量,即最多起多少容器。

docker template,容器映象模板,根據業務需要新增,一般這種業務新增一個模板,

Instance Capacity,該映象能啟動的最大數量。

Docker
Image,容器映象名,後面再提如何製作jenkins slave docker 映象

container setting,容器配置,一些容器的高階配置,可以不配。因為我這邊不想每個容器都有自己的獨立svn下載地址,就讓容器對映宿主機的資料夾,這個一個job更新svn後,另外一個job不用重新更新。

Labels,該類映象名,這條最最重要,jenkins
job 就根據這個名字來判斷job是否在容器內執行。

Availability ,可用性,即啟動的容器策略,可以選容器用完就刪除,或者長久保留。
Launch method,即容器以slave加入jenkin master方式,當前只支援ssh ,這就要求容器映象支援ssh 金鑰登入,即容器映象安裝有ssh伺服器和ssh私鑰,這裡設定相應的公鑰。

Pull
strategy,映象拉取策略,可以從網上下,也可以各warm 節點本地準備好。建議選never pull ,各節點本地準備好,省去下載時間,不然長時間的下載會讓使用者以為系統有問題。

使用:

新建一個job,將job 執行環境限定在swarm上執行。

執行job,過1~2分鐘,一個新的容器就啟動起來了。job 在該容器內執行。

docker
jenkins slave映象製作:

1、下載基礎映象 ubuntu 或者 centos

2、用該映象啟動容器注意帶22埠(以後master 用22埠來將容器加入master)

3、在容器內安裝openssh-server,java (注意要和master java同版本)

3、在容器內安裝必要的業務需要的軟體,比如編譯需要的gcc之類

4、生成ssh金鑰,將ssh 公鑰複製到jenkin server 裡面的金鑰管理裡,後續jenkin
server根據該金鑰登入容器。

5、提交容器,生成映象,再加映象複製到其他swarm
節點上。