你们能够看到本文的配图,左边是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模式后,也不难。
一个节点如此,多个节点皆然,晚安。