使用 Jenkins 实现集群化管理以及配置流水线

Posted 愿许浪尽天涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 Jenkins 实现集群化管理以及配置流水线相关的知识,希望对你有一定的参考价值。

一、Jenkins Cluster 简介

首先在这里说一下单台 Jenkins 的工作流程:

1.在 GitLab 远程仓库中下载代码到本地;

2.由本地的 Maven 对代码编译成 war 包(针对于 Tomcat)

3.最后将打包的 war 包放置目标位置(一般都是通过脚本来进行传输)

  • 以上就是 Jenkins 大致的一个工作流程。

现在来说一下为什么要使用 Jenkins 集群:

其实使用 Jenkins 集群的主要目的就是为了缓解 Jenkins Master 的一个工作压力(Jenkins 本身就是 Master)

因为当同时在 Jenkins 上部署多个项目时,单台 Jenkins 服务器的压力可能会过大(拉取,编译,发布)

1.配置 Jenkins 实现集群功能

  • Jenkins 上需要安装:SSH、SSH Agent、SSH Build Agents 插件。
  • Node 上需要安装:JDK 软件包,并进行时间同步。

1)配置 Jenkins 集群

  • Manage Jenkins —— Manage Nodes and Clouds





2)准备项目




3)Build Now

ssh-copy-id root@192.168.1.3									# 需要将 Node 节点的公钥发送给 Client

2.使用 Jenkins 配置流水线项目

Jenkins 流水线(Pipeline)就是在任务项目构建的过程中通过 Pipeline 来呈现每个构建阶段的细节信息。
流水线格式:

pipeline {
    agent any														# 在所有主机上操作
    stages {														# 任务集
        stage('Hello') {											# 任务名称为 Hello
            steps {
                echo 'Hello World'									# Hello 任务要执行的命令
            }
        }
    }
}


  • 注意:我这里只是简单做了下演示,你们可以根据 pipeline 语法来玩更高级的东西。

以上是关于使用 Jenkins 实现集群化管理以及配置流水线的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins连接k8s的多种姿势

Jenkins之Pipeline代码流水线配置

猪八戒网DevOps容器云与流水线

Jenkins CI/CD 发布流程管理

devops持续集成开发——jenkins流水线发布一个docker版的后端maven项目

devops持续集成开发——jenkins流水线发布一个docker版的后端maven项目