jenkins主从节点安装及pipeline构建

news2025/1/18 8:58:36

一、背景

通过Jenkins主节点配置的pipeline下发给从节点执行,从而兼容容器化执行

二、安装主节点

docker-compose.yml

  jenkins:
    user: root
    restart: always
    image: jenkinsci/blueocean
    container_name: jenkins
    # network_mode: host
    ports:
      - "8081:8080"
      - "50000:50000"
    environment:
      TZ: Asia/Shanghai
      VERSION: 4
    volumes:
      - /var/docker/jenkins/jenkins_home:/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /root/.docker:/root/.docker
      - /etc/localtime:/etc/localtime

直接docker-compose up -d启动即可
在这里插入图片描述
默认装完是2.346.3版本,可以升级到2.4+版本,直接点击首页提示升级即可

三、安装相关依赖

在这里插入图片描述
相关依赖插件:
Docker plugin
Docker Commons Plugin
Docker API Plugin
Docker Pipeline
Permissive Script Security
Build User Vars

以上均安装后重启jenkins,如果提示:
在这里插入图片描述
如果更新过程中,网络不通,可以切换更新源:
Jenkins的update-center,URL为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
在这里插入图片描述
上面安装完成后,可以简单测试一下主节点服务是否正常,正常服务如下:

ubuntu2204@ubuntu2204-virtual-machine:/var/docker/jenkins$ curl 127.0.0.1:8081
<html><head><meta http-equiv='refresh' content='1;url=/login?from=%2F'/><script>window.location.replace('/login?from=%2F');</script></head><body style='background-color:white; color:white;'>


Authentication required
<!--
-->

</body></html>  
ubuntu2204@ubuntu2204-virtual-machine:~$ curl 127.0.0.1:50000
Jenkins-Agent-Protocols: JNLP4-connect, Ping
Jenkins-Version: 2.401.1
Jenkins-Session: 7929d409
Client: 172.18.0.1
Server: 172.18.0.3
Remoting-Minimum-Version: 4.7

从节点搭建

新建节点并保存
在这里插入图片描述
保存后,就能得到一串密钥
在这里插入图片描述
从节点agent的docker-compose.yml文件

  jenkins-agent:
    image: jenkins/inbound-agent:alpine
    container_name: jenkins-agent
    restart: always
    network_mode: host
    user: root
    volumes:
     - /var/run/docker.sock:/var/run/docker.sock  # 关键,使得 agent 能访问 docker
     - /var/docker/jenkins/jenkins:/var/jenkins  # 关键,对应于注册时指定的“远程工作目录”,必须挂载到宿主机上,否则会因为指令传参问题卡死任务
     - /var/docker/jenkins/startup-agent.sh:/var/startup.sh  # 因为需要事先安装 Docker Client 等,在启动脚本处注入部分操作
    command: /var/startup.sh  # 用这个挂载进去的脚本启动

确保/var/docker/jenkins目录存在,没有则创建。

/var/docker/jenkins/startup-agent.sh对应的脚本内容为:

!/usr/bin/env bash
 
# alpine install packages
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
apk add docker-cli tini
 
tini -- /usr/local/bin/jenkins-agent -url http://127.0.0.1:8081 7948f42bc###c1470d802cc02 test

docker-compose up -d后,可以看到
在这里插入图片描述
等一会后,就能看到从节点已连上:
在这里插入图片描述

这里选用的连接方式如下:
在这里插入图片描述
意思是从节点主动连接主节点,默认端口为50000,所以只要确保主节点50000端口放开即可使得从节点连接上。

pipeline测试

new item:选中pipeline类型后点击ok
在这里插入图片描述
pipeline的script输入下文案例并保存
在这里插入图片描述

pipeline {
    agent {
        docker { image 'busybox:latest' }
    }
    stages {
        stage('All') {
            steps {
                echo 'Hello Jenkins and Docker!'
            }
        }
    }
}

点击Build Now
在这里插入图片描述
如图所示:可以发现构建成功,链路闭环
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/619660.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BOS EDI Excel 方案简介

BOS EDI & Excel 方案简介 本文将继续分享BOS示例工作流&#xff1a;使用Excel端口和Email端口生成一系列文件&#xff0c;完成与BOS的EDI通信。 下载工作流 下载示例文件 BOS EDI到Excel示例流具有预配置的端口&#xff0c;用于从BOS的EDI集成规范转换以下交易集&…

2022年国赛高教杯数学建模D题气象报文信息卫星通信传输解题全过程文档及程序

2022年国赛高教杯数学建模 D题 气象报文信息卫星通信传输 原题再现 在某些紧急救援任务中&#xff0c;需要进行物资空投。在地面通信系统瘫痪的情形下&#xff0c;为了更好地获得准确完整的地面气象观测信息&#xff0c;通常对任务区域的重要目标点采用派遣气象分队的方式来获…

如果让你来设计CPU之内存篇

哈喽&#xff0c;我是子牙&#xff0c;一个很卷的硬核男人。深入研究Windows内核、Linux内核、Hotspot源码…聚焦做那些大家想学没地方学的课程&#xff1a;手写操作系统、手写虚拟机、手写模拟器、手写编程语言… 目前已经做了两个成熟的课程&#xff1a;手写JVM、手写OS&…

PPP认证协议详解

PPP认证协议详解 1. 引言 PPP&#xff08;Point-to-Point Protocol&#xff09;认证协议在计算机网络中扮演着重要的角色。它是一种用于建立和认证网络连接的协议&#xff0c;广泛应用于各种网络环境&#xff0c;包括互联网接入、虚拟专用网络&#xff08;VPN&#xff09;和远…

【头歌】试的学习

1.基本路径测试 2.画出程序控制流图 3.计算流图的环形复杂度 4.确定线性独立路径的基本集合 5.设计测试用例 基本路径测试 除了逻辑覆盖&#xff0c;还有一种常用的白盒测试的测试方法&#xff1a;基本路径测试。基本路径测试是 Tom McCabe提出的一种白盒测试技术。使用这种技…

c++学习——继承

继承 **继承****继承的案例****继承的三种方式方式&#xff1a;****继承中的对象类型****继承中的构造和析构顺序****继承中同名成员的处理****同名静态成员处理****多继承语法****菱形继承** 继承 普通的输出 #define _CRT_SECURE_NO_WARNINGS #include <iostream> us…

8. 让java性能提升的JIT深度解剖

JVM性能调优 1. C1、C2与Graal编译器1.1 C1编译器1.2 C2编译器1.3 分层编译 2. 热点代码3. 热点探测4. 方法调用计数器5. 回边计数器6. 编译优化技术6.1 方法内联 7. 锁消除8. 栈上分配9. 逃逸分析技术10. 标量替换 本文是按照自己的理解进行笔记总结&#xff0c;如有不正确的地…

【LeetCode热题100】打卡第14天:下一个排列最长有效括号

文章目录 【LeetCode热题100】打卡第14天&#xff1a;下一个排列&最长有效括号下一个排列⛅前言&#x1f512;题目&#x1f511;题解 最长有效括号&#x1f512;题目&#x1f511;题解 【LeetCode热题100】打卡第14天&#xff1a;下一个排列&最长有效括号 下一个排列 …

如何入门挖掘SRC?

挖洞其实算是web渗透中第一个明确的关卡 越过这个坎&#xff0c;从此天高任鸟飞&#xff0c;海阔凭鱼跃。越不过&#xff0c;就永远越不过。 先说平台&#xff1a; 漏洞响应平台&#xff1a;实战渗透测试&#xff0c;同时能获得一些外快。 补天漏洞响应平台&#xff1a;http…

Netty核心技术五--Netty高性能架构设计

1. 线程模型基本介绍 不同的线程模式&#xff0c;对程序的性能有很大影响&#xff0c;为了搞清Netty 线程模式&#xff0c;我们来系统的讲解下 各个线程模式&#xff0c; 最后看看Netty 线程模型有什么优越性.目前存在的线程模型有: 传统阻塞 I/O 服务模型Reactor 模式 根据 R…

郭光灿团队实现低温集成量子纠缠光源

中国科大郭光灿院士团队在集成化量子光源制备研究中取得重要进展。该团队任希锋研究组基于低温集成自发四波混频过程&#xff0c;展示了低温条件下集成量子纠缠光源的制备&#xff0c;相关成果于6月2日发表在光学知名学术期刊Optica上。 “利用低温综合四波混合技术产生纠缠现象…

Mapbox表达式详细解读

初学mapbox 的小伙伴们一定会被表达式给弄的晕头转向的。明明条件判断或者回调函数能解决的问题。mapbox里非得让你用表达式。这确实比较ex。 不过我们既然遇到了,也不要怕,这篇文章我就带着大家一点一点的搞明白这个所谓的表达式。 首先从宏观上讲,要知道为什么使用表达式…

【面试高频】cookie、session、token?看完再也不担心被问了

在以往的面试记录里&#xff0c;我又看到了一个多次被问到的知识点&#xff0c;那就是 cookie、session、token 的区别有哪些&#xff1f;如果现在来问你&#xff0c;不知道你能否说清楚呢&#xff1f; 今天不仅仅是整理出这三者的区别&#xff0c;更重要的是能够真正去理解这三…

Python | print写入日志

Python | print写入日志 有时我们需要将屏幕上打印的消息保存到一个文件中&#xff0c;如果每条信息都通过调用写入函数来实现&#xff0c;就太麻烦了 这里自己定义1个日志类&#xff0c;然后将 sys.stdout 设置为该类即可&#xff0c;非常方便 sys.stdout Logger(fileName …

卡尔曼滤波与组合导航原理(八)遗忘滤波

函数模型 { X k Φ k l k − 1 X k − 1 Γ k − 1 W k − 1 Z k H k X k V k \left\{\begin{array}{l} \boldsymbol{X}_{k}\boldsymbol{\Phi}_{k l k-1} \boldsymbol{X}_{k-1}\boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1} \\ \boldsymbol{Z}_{k}\boldsymbol{H}_{k} \…

C语言:使用 普通方法 和 二分查找算法(折半查找算法) 在一个有序数组中查找具体的某个数字n

题目&#xff1a; 从键盘输入数字n&#xff0c;在一个 有序数组 中查找具体的某个数字n。 思路一&#xff1a;普通方法 &#xff08;逻辑简单&#xff0c;在无序数组中也可以使用&#xff0c;但效率较低&#xff0c;需要逐个查找&#xff09; 总体思路&#xff1a; &#xff…

日常培训管理-参训名单/BootstrapTable获取表数据 / js 删除两个数组中id相同的对象/

---2022.11.9 1、 现在有一个功能是从下面待选名单中选中&#xff0c;再点击这个添加按钮&#xff0c;就会将这些人添加到上面这个参训名单&#xff0c;然后再给其中每个人手动打分。分打完 BootstrapTable中有两组数据&#xff0c;在下面待选名单数据条目前面中打钩选中&am…

从零开始学习CTF——CTF基本概念

这一系列把自己学习的CTF的过程详细写出来&#xff0c;方便大家学习时可以参考。 一、CTF简介 01」简介 中文一般译作夺旗赛&#xff08;对大部分新手也可以叫签到赛&#xff09;&#xff0c;在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。 CTF…

odoo-028 odoo前端页面显示跟后台数据库内容不一致

文章目录 一、问题二、排查三、总结 版本&#xff1a;odoo13 一、问题 同步多端数据的时候发现&#xff0c;产品product.template页面显示的内容跟用接口查询出来的不一样&#xff0c;接口查询的结果中name值总是后面多一些数据。 页面显示&#xff1a;六甲基二硅胺锂 1.0M T…

开源且免费:全面评估排名前五的缺陷管理工具

软件缺陷管理是一个关于发现&#xff0c;记录&#xff0c;追踪&#xff0c;处理和报告软件缺陷的过程。这是软件开发过程中的一个重要环节&#xff0c;它可以帮助开发团队保持代码的质量并及时修复问题。 一、早期小团队使用的免费缺陷管理工具 在项目早期或者团队规模较小的…