首页 技术 正文
技术 2022年11月15日
0 收藏 725 点赞 3,694 浏览 1655 个字

Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境

写在前面

大家可以看到本文的配图,左边是jenkins单机环境,右边是jenkins集群。个中区别,不言而喻,形象生动。

前面我分别介绍了.net core 程序的多种部署方式(无绝对孰优孰劣):

1、普通直接部署(Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署)、

2、docker部署(Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署)、

3、jenkins+docker自动化部署(Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(二):部署,以上的安装及部署,都只涉及一台机,现在在单机环境上都没问题了,那么:

而实际开发、生产使用中,我们一个Asp.net Core 应用一般需要部署到多台机器也就是集群部署,我们怎么做呢?每台机都安装一台jenkins?

我们这篇,就解决这个问题。

运行环境

centos:7.2
cpu:1核 2G内存 1M带宽

Jenkins ver. 2.150.1

一台安装jenkins的机器,作为Master,一台安装jenkins节点Agent的机器,作为Slave。

节点不需要安装jenkins,节点的job是通过agent接受Master发送过来的指令和文件,执行对应的操作。

jenkins节点机器权限配置

比如上面我们提到,节点Job是通过Master发送指令和文件过去再执行的,而Master也要知道节点的各种信息,比如磁盘内存等信息。在那这里,就需要Master和节点能够互相通信,及有发送文件到远程的权限。

本文是通过配置SSH解决权限问题,SSH配置我单独写了这篇文章linux 远程ssh免密登录

添加jenkins节点

下面开始添加Jenkins节点

入口:系统管理->节点管理->添加节点

Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境

这里“固定节点”差不多是添加一个新节点的意思;

“Copy Existing Node” 是复制一个已存在的节点,我们这里选“固定节点”。

如果下次有新节点添加的时候,就可以选"Copy Existing Node" 了,因为现在还没有可以复制的节点。

Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境

节点配置

Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境

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

Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境

添加成功大概是这样的

(失败的话应该会红色的XX什么的,这里没有图)

Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境

节点列表:

这里可以实时看到节点机器的一些信息

Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境

开始部署

哈哈哈,说的好像很有气势,终于到重头戏的感觉;

其实,部署很简单:

在Job的配置里面勾选“Restrict where this project can be run”,并填写节点的Label

Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境

配置好后再节点列表,点击:

Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境

就可以部署了。

至于节点机器环境,能不能跑你的程序,我这里用docker的,写好Dockerfile就ok了。

其他方式,理解jenkins模式后,也不难。

一个节点如此,多个节点皆然,晚安。

参考资料

https://blog.csdn.net/zhu_tianwei/article/details/68277374

https://www.cnblogs.com/stulzq/p/9297260.html

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,495
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295