你們能夠看到本文的配圖,左邊是jenkins單機環境,右邊是jenkins集羣。箇中區別,不言而喻,形象生動。html
前面我分別介紹了.net core 程序的多種部署方式(無絕對孰優孰劣):linux
一、普通直接部署(Asp.Net Core 程序部署到Linux(centos)生產環境(一):普通部署)、docker
二、docker部署(Asp.Net Core 程序部署到Linux(centos)生產環境(二):docker部署)、centos
三、jenkins+docker自動化部署(Asp.net Core 使用Jenkins + Dockor 實現持續集成、自動化部署(二):部署,以上的安裝及部署,都只涉及一臺機,如今在單機環境上都沒問題了,那麼:併發
而實際開發、生產使用中,咱們一個Asp.net Core 應用通常須要部署到多臺機器也就是集羣部署,咱們怎麼作呢?每臺機都安裝一臺jenkins?ssh
咱們這篇,就解決這個問題。this
centos:7.2
cpu:1核 2G內存 1M帶寬.net
一臺安裝jenkins的機器,做爲Master,一臺安裝jenkins節點Agent的機器,做爲Slave。代理
節點不須要安裝jenkins,節點的job是經過agent接受Master發送過來的指令和文件,執行對應的操做。
好比上面咱們提到,節點Job是經過Master發送指令和文件過去再執行的,而Master也要知道節點的各類信息,好比磁盤內存等信息。在那這裏,就須要Master和節點可以互相通訊,及有發送文件到遠程的權限。
本文是經過配置SSH解決權限問題,SSH配置我單獨寫了這篇文章linux 遠程ssh免密登陸
下面開始添加Jenkins節點
入口:系統管理->節點管理->添加節點
這裏「固定節點」差很少是添加一個新節點的意思;
「Copy Existing Node」 是複製一個已存在的節點,咱們這裏選「固定節點」。
若是下次有新節點添加的時候,就能夠選"Copy Existing Node" 了,由於如今尚未能夠複製的節點。
Name:節點名稱,隨便填
Description:節點描述,隨便填
#of executors:併發執行構建數目,根據機器配置填,通常填cup核心數。我填2個
Remote root directory:遠程構建工做目錄
Labels:節點標籤,簡單點,隨便填
Usage:節點使用策略,我選:只容許運行綁定到這臺機器的Job
Launch method:啓動節點方式,我選:Launch agent agents via SSH ,經過ssh方式啓動(這裏須要配置ssh,看請看jenkins節點機器權限配置 這部分)
Availability:可用性,我選:儘可能保持代理在線
這裏各個配置,你們不要糾結於一時,非要配置的時候弄清楚,能夠先參考個人配置或其餘同窗的配置,用起來後,天然而言就理解了。
再補充一下:Launch method->Credentials:
點擊「Add」 選擇「Jenkins」
key:就是剛剛 jenkins節點機器權限配置 裏面生成的:id_rsa
添加成功大概是這樣的
(失敗的話應該會紅色的XX什麼的,這裏沒有圖)
節點列表:
這裏能夠實時看到節點機器的一些信息
哈哈哈,說的好像頗有氣勢,終於到重頭戲的感受;
其實,部署很簡單:
在Job的配置裏面勾選「Restrict where this project can be run」,並填寫節點的Label
配置好後再節點列表,點擊:
就能夠部署了。
至於節點機器環境,能不能跑你的程序,我這裏用docker的,寫好Dockerfile就ok了。
其餘方式,理解jenkins模式後,也不難。
一個節點如此,多個節點皆然,晚安。