jenkins的多节点集群

在进行自动化部署时,你可以按着它们的项目类型去进行分别部署,这样即可以达到负载均衡,又可以达到一种职责的明确,比如像java的项目你可以使用linux服务来进行部署(拉代码,还原,编译,发布,生成镜像,推镜像到仓库,建立服务等),而对于.net项目你可以使用windows服务器来实现jenkins的节点,而它们的入口都是jenkins的master,由它根据每个节点的标记进行分发!

节点各有其责

每个节点一般都会做项目的依赖包还原,代码编译,发布,镜像的生成,镜像的推送到仓库,docker服务的建立等工作,下面就来说一下这些工作的细节,如windows平台里的.net项目,它会有一个windows服务器为它提供自动化部署的服务,使用以下功能。
  1. 编译
  2. 发布
  3. 镜像的生成
  4. 镜像的推送到仓库
  5. docker服务的建立

上面步骤对应的部分代码如下,SH脚本,主要在linux进行部署,如果是在windows上进行部署的话,建议使用powershell脚本。

项目编译与发布

  set -ex
export Publish_Path="obj\Docker\publish"
echo "项目恢复"
dotnet restore
echo "项目编译"
dotnet build
echo "项目发布"
dotnet publish -o obj/Docker/publish
echo "发布成功,开始构建docker镜像"

生成镜像和推送到仓库

#!/bin/sh
set -ex
export IMAGE_NAME=microserviceOrder
export Registry_Url="www.lind.cn:8443"
docker build --no-cache --pull -t $IMAGE_NAME ./
docker tag $IMAGE_NAME $Registry_Url/$IMAGE_NAME
docker push $Registry_Url/$IMAGE_NAME

分发与jenkins项目依赖

在建立节点时可以指定它的标签,使用请求到主jenkins节点后,根据标签去分发,找到目标的节点,然后去处理相应的工作
根据构建后的项目依赖去实现自动化部署多项目的关联

以上内容就是我对jenkins集群中各节点职责,请求分发,项目依赖的理解,希望可以帮到正在学习的您!

感谢各位粉丝的支持!

谢谢!

jenkins~集群分发功能和职责处理的更多相关文章

  1. jenkins~集群分发功能的具体实现

    前一讲主要说了jenkins分发的好处<jenkins~集群分发功能和职责处理>,它可以让具体的节点干自己具体的事,比如windows环境下的节点,它只负责编译,发布windows的生态环 ...

  2. jenkins集群(二)(master --> slave) -- allure自动化测试报告部署

    一.前提 1.环境 1)已经部署好了jenkins环境,包括jenkins的“全局工具配置”也配好了. 2.master与slave的简单的概念 1)master:jenkins部署所在的机器 2)s ...

  3. Jenkins 集群搭建

    一.前言 Jenkins是当下比较流行的一款功能强大的持续集成工具,它支持搭建集群,来提高多项目的构建速度,模式为主从模式,master会将任务分配到各个从节点进行并发构建,从而提高速度,下面介绍一下 ...

  4. ssh无密登录_集群分发脚本xsync

    1.ssh免密登录 ssh ip地址 [root@192 ~]# ssh 192.168.1.102 root@192.168.1.102's password: Last login: Mon Fe ...

  5. hadoop(六)rsync远程同步|xsync集群分发(完全分布式准备三)|8

    前置环境准备:centos7克隆ip|机器名|映射关系|别名配置(hadoop完全分布式准备一)scp命令copy文件和配置(hadoop完全分布式准备二) rsync远程同步工具 优点 rsync主 ...

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

    写在前面 大家可以看到本文的配图,左边是jenkins单机环境,右边是jenkins集群.个中区别,不言而喻,形象生动. 前面我分别介绍了.net core 程序的多种部署方式(无绝对孰优孰劣): 1 ...

  7. 搭建jenkins集群

    搭建jenkins集群是为了解决单点服务器存在的性能瓶颈,也有业务的需要,比如:java服务打包的环境我们需要linux,ios打包的服务器需要mac机. 一.创建agent节点 1.打开 系统管理- ...

  8. 快速搭建Jenkins集群

    关于Jenkins集群 在Jenkins上同时执行多个任务时,单机性能可能达到瓶颈,使用Jenkins集群可以有效的解决此问题,让多台机器同时处理这些任务可以将压力分散,对单机版Jenkins的单点故 ...

  9. Jenkins集群下的pipeline实战

    关于Jenkins集群 在<快速搭建Jenkins集群>一文中,我们借助docker快速搭建了Jenkins集群,今天就在这个集群环境中创建pipeline任务,体验Jenkins集群下的 ...

随机推荐

  1. linux下权限问题思考

    今天遇到一些关于linux的权限问题,文件的所有者,文件的所属组等问题,文件对于所有者所属组是非常敏感的,同一个脚本所属者所属组不同,得到执行的结果也是差很多的.

  2. 修改Tomcat服务器默认端口

  3. Java内存模型_基础

    线程之间的通信机制有两种: 1.共享内存:线程之间共享程序的公共状态,通过写-读内存中的公共状态进行隐式的通信. 2.消息传递:线程之间没有公共状态,线程之间必须发送消息来显示的进行通信 同步:是指程 ...

  4. sizeof(void)有什么用

    偶然发现在C中sizeof(void)是合法的,于是,对它的作用产生了疑问.查阅资料在GNU文档中发现如下解释: In GNU C, addition and subtraction operatio ...

  5. final关键字的使用

    public class FinalDome extends Final{ private final double PI = 3.1415926;//常量,不可改变 private int num ...

  6. 即时通信系统Openfire分析之四:消息路由

    两个人的孤独 两个人的孤独,大抵是,你每发出去一句话,都要经由无数网络.由几百个计算机处理后,出在他的面前,而他就在你不远处. 连接管理之后 Openfire使用MINA网络框架,并设置Connect ...

  7. java 8 总结 之lambda

    lambda表达式 目的:行为参数化 Lambda表达式是简洁地表示可传递的匿名函数的一种方式:它没有名称,但它有参数列表.函数主体.返回类型,可能还有一个可以抛出的异常列表. Lambda的基本语法 ...

  8. sql优化策略之索引失效情况二

    详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp63   接第一篇索引失效分析:http://grefr.iteye.co ...

  9. Cookie中的HttpOnly详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt377 1.什么是HttpOnly? 如果您在cookie中设置了HttpOn ...

  10. 【C#多线程编程实战笔记】一、 线程基础

    创建线程 Thread :所执行的方法不能有参数. class Program { static void Main(string[] args) { Console.WriteLine(" ...