docker部署Jenkins与任务创建【七千字超详细指南】

news2024/12/23 9:41:07

大家好,我是早九晚十二,目前是做运维相关的工作。写博客是为了积累,希望大家一起进步!
我的主页:早九晚十二

文章目录

    • 什么是jenkins?
    • jenkins的功能
    • 依赖环境
    • 使用docker快速搭建
      • 查看版本
      • 下载jenkins镜像
      • 使用docker指令拉取镜像
      • 更换docker加速镜像
      • 查看jenkins镜像
      • 查看jenkins版本
      • 创建jenkins存储目录
      • 构建jenkins容器
      • 登录jenkins页面
      • 查看密码文件
      • 配置jenkins插件更新源
      • 安装插件
      • 添加agent节点
        • 命令行代理方式
      • 权限管理
      • 凭据管理
      • 用户管理
        • 新增用户
      • 系统版本及插件信息
      • 新建任务

什么是jenkins?

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。

jenkins的功能

  • 持续的软件版本发布/测试项目
  • 监控外部调用执行的工作

依赖环境

  • jdk1.5及以上(建议使用1.8)

使用docker快速搭建

centos搭建docker请参照: centos7.2docker的基本使用

查看版本

[root@test ~]# docker --version
Docker version 20.10.8, build 3967b7d
[root@test ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

下载jenkins镜像

jenkins官方镜像网站:请点我
在这里插入图片描述

使用docker指令拉取镜像

docker pull jenkins/jenkins:latest

当发现一直卡在下载进度条时(如下图),主要是因为拉取国外镜像的限速问题,这时我们可以更换国内的加速源解决此问题。
在这里插入图片描述

更换docker加速镜像

[root@test ~]# vim /etc/docker/daemon.json
{
	"registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
}
[root@test ~]# systemctl daemon-reload
[root@test ~]# systemctl restart docker

更换完加速镜像后重新拉取jenkinsj即可
在这里插入图片描述

查看jenkins镜像

[root@test ~]# docker images
REPOSITORY                            TAG             IMAGE ID       CREATED         SIZE
jenkins/jenkins                       latest          55860ee0cd73   10 months ago   442MB     

查看jenkins版本

[root@test ~]# docker inspect jenkins/jenkins|grep -i jenkins.*version
                "JENKINS_VERSION=2.328",

创建jenkins存储目录

[root@test ~]# mkdir /root/jenkins_home

构建jenkins容器

[root@test ~]# docker run -u root -d --name jenkins -p 9988:8080 -p 50000:50000 -v /root/jenkins_home:/var/jenkins_home jenkins/jenkins
8cbfeeccb96163f29d4eb64b9ee9b46b6206bbb5ceb2adb9bdf5b9aa233d8007

–name jenkins 代表容器名称
-p 50000:50000 ,这个端口映射要保持一致,为agent服务端口
/root/jenkins_home:/var/jenkins_home 为服务挂载到宿主机的路径

登录jenkins页面

浏览器访问 http://192.168.120.178:9988,出现下图页面即为正常
在这里插入图片描述

查看密码文件

[root@test ~]# docker exec -ti jenkins bash
root@8cbfeeccb961:/# cat /var/jenkins_home/secrets/initialAdminPassword 
b117506d55844bf7bc4aa5bf349cf1ea
#也可以直接在宿主机操作cat /root/jenkins_home/secrets/initialAdminPassword ,是一样的效果

将查询到的密码复制粘贴到管理员页面,并登录
在这里插入图片描述
安装完插件后,点击使用admin账户继续
在这里插入图片描述
设置访问jenkins仓库的根地址,默认即可
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

配置jenkins插件更新源

将默认的https://updates.jenkins.io/update-center.json更改https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装插件

如 pipeline/git等插件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重启jenkins

添加agent节点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

命令行代理方式

在命令行中启动节点
curl -sO http://192.168.120.178:9988/jnlpJars/agent.jar
java -jar agent.jar -jnlpUrl http://192.168.120.178:9988/manage/computer/build/jenkins-agent.jnlp -secret 4c439cd1b1091a4499b4b5274d2cf4f376b0b0b8767830527a91a1c98d1e2ac2 -workDir "/opt/jenkins"
Or run from agent command line, with the secret stored in a file:
echo 4c439cd1b1091a4499b4b5274d2cf4f376b0b0b8767830527a91a1c98d1e2ac2 > secret-file
curl -sO http://192.168.120.178:9988/jnlpJars/agent.jar
java -jar agent.jar -jnlpUrl http://192.168.120.178:9988/manage/computer/build/jenkins-agent.jnlp -secret @secret-file -workDir "/opt/jenkins"

权限管理

安装授权插件 Role-based Authorization Strategy 用户项目授权。
在这里插入图片描述
点击系统管理-全局安全配置进行策略管理。
在这里插入图片描述
在这里插入图片描述

系统配置界面出现一个 “Manage and Assign Roles”,点击进入
在这里插入图片描述
在这里插入图片描述

凭据管理

点击系统管理-Manage Credentials 设置凭据
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

用户管理

在这里插入图片描述

新增用户

点击create user,填写相关信息后确认。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

系统版本及插件信息

点击系统管理-关于jenkins,即可查看插件版本等信息。
在这里插入图片描述
在这里插入图片描述

新建任务

点击面板新建任务
在这里插入图片描述
选择构建一个自由模式的软件项目,比较常用、通用
在这里插入图片描述
出现以下页面即为创建成功,输入项目描述
在这里插入图片描述
点击源码管理,可以设置源码管理方式(可选择Git CVS等,插件管理手动安装即可,我这里只安装的git,所以只显示git和none),以及触发器等(图中设置的是每天0点执行)。
在这里插入图片描述
任务构建的主角:构建环境
选择shell,即支持shell命令
在这里插入图片描述
选择shell之后,设置需要定时执行的指令,如不需要可以手动删除在这里插入图片描述
构建完成之后,点击保存
在这里插入图片描述
如下图,出现绿色标记即为成功(前面多次失败是因为容器内没有free命令,临时换了echo命令)
在这里插入图片描述
查看控制台输出详情
在这里插入图片描述
在这里插入图片描述
至此,jenkins搭建、配置、及任务创建完成。

码字不易。如果文章对您有希望的话,请三连支持一波。
如有问题,欢迎留言,一起探讨,感谢。
也可关注下方公众号,看到留言后会第一时间回复。

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

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

相关文章

搞个网站需要多少钱【网站费用】

想搞一个网站,我们先了解一下搞个网站需要多少钱?网站建设费用主要包括:网站搭建、服务器费用(有些是免费的)、域名费用以及其他杂费。对于刚成立网站我们可以选择用自助建站方案来进行搭建网站,因为我们自…

【freeRTOS】操作系统之五.-内存管理

\FreeRTOS\Source\portable\MemMang下提供了5中内存分配机制的实现 一、配置FreeRTOS内存大小 在FreeRTOSConfig.h头文件中宏configTOTAL_HEAP_SIZE用于配置内核可用的RAM大小。 在heap1.c, heap2.c, heap4.c源文件中,分配的内存实际上是用一个静态数组ucHeap来表…

阿里后端优化这么恐怖?看完这20W字Java性能实战经验手册,最少P7

学习是一种基础性的能力。然而,“吾生也有涯,而知也无涯。”,如果学习不注意方法,则会“以有涯随无涯,殆矣”。 学习就像吃饭睡觉一样,是人的一种本能,人人都有学习的能力。我们在刚出生的时候…

通过rpm安装MySQL8.0

前文 下载虚拟机,安装Linux(Centos7发行版)关闭SELinux服务 (安全模块,容易跟其他程序冲突,建议关闭)替换yum源 (加快下载依赖速度)安装MySQL 关闭SELinux 进入vi /ec…

代码随想录——冗余连接(并查集)

题目 树可以看成是一个连通且 无环 的 无向 图。 给定往一棵 n 个节点 (节点值 1~n) 的树中添加一条边后的图。添加的边的两个顶点包含在 1 到 n 中间,且这条附加的边不属于树中已存在的边。图的信息记录于长度为 n 的二维数组 edges ,edges[…

(C语言)成绩统计

[#4练习赛]成绩统计 题目描述 传智专修学院的“Java程序设计”班有 N(1≤100)N(1 \le 100)N(1≤100) 个学生,知道他们的个人信息和成绩: 姓名(长度不超过 202020 的仅由小写字母组成的字符串)平时分成绩(000 到 100…

网格窗帘布能符合NFP92-503法国M2级别要求吗?

NFP 92-503是针对建筑材料类产品的阻燃性能测试,主要分为M1-M4四个级别,M1为最高级别,以此类推,故而M2对阻燃要求还是比较严格的,布料要申请M2要求的话,前提至少要有阻燃处理了。 NFP 92-503 建筑材料阻燃测…

振弦采集模块主动上传测量数据( UART)

振弦采集模块主动上传测量数据( UART) 默认情况下 VMXXX 模块总是以从机身份与主机完成数据交互, 在这种主从结构中, VMXXX 从不主动上传数据, 可通过修改自动上传寄存器( ATSD_SEL)来实现模块主…

论文阅读笔记 | 三维目标检测——MV3D算法

如有错误,恳请指出。 文章目录1. 背景2. 网络结构2.1 提案投影网络2.2 区域融合网络3. 实验结果paper:《Multi-View 3D Object Detection Network for Autonomous Driving》 1. 背景 激光雷达可以提供物体的深度信息,而摄像头可以提供物体的…

麦子-linux字符设备驱动初探

字符驱动的联系 框架 软件支持:驱动 驱动类型 1、字符驱动(每次读取一个字节) 2、块驱动(每次读取多个字节) 3、网络设备驱动(协议栈) 设备号dev_t 内核中使用类型dev_t来描述设备号&…

【Unity3D】Unity 脚本 ④ ( 游戏物体 GameObject 的坐标 | 修改 游戏物体 GameObject 的本地坐标 )

文章目录一、 游戏物体 GameObject 的坐标二、 修改 游戏物体 GameObject 的本地坐标一、 游戏物体 GameObject 的坐标 游戏物体 GameObject 的坐标 有 2 种 : 世界坐标 : 调用 Transform#position 属性 获得 ;本地坐标 : 调用 Transform#localPosition 属性 获得 ,本地坐标 就…

这份Java大厂常见面试题解析,你的闭关修练宝典!

纵观今年的技术招聘市场, Java依旧是当仁不让的霸主 !即便遭受 Go等新兴语言不断冲击,依旧岿然不动。究其原因: Java有着极其成熟的生态,这个不用我多说; Java在 运维、可观测性、可监 控性方面都有着非常…

Materials Studio8.0

centos7.9 检查主机名: 检查环境: [rootmaster conf]# rpm -qa|grep glibc; rpm -qa|grep libgcc; rpm -qa|grep libstdc ;rpm -qa|grep redhat-lsb Materials Studio8.0软件包 链接:百度网盘 请输入提取码 提取码:fomg 软件…

【LeetCode每日一题:891. 子序列宽度之和~~~排序+数学推导】

题目描述 一个序列的 宽度 定义为该序列中最大元素和最小元素的差值。 给你一个整数数组 nums ,返回 nums 的所有非空 子序列 的 宽度之和 。由于答案可能非常大,请返回对 109 7 取余 后的结果。 子序列 定义为从一个数组里删除一些(或者…

骗赞小程序(仅供恶搞)

作为一个 良 凉心博主,平时发的文章得不到点赞,也得不到关注,这改如何办?很简单只需要勤奋发文 威逼利诱。如何威逼利诱,用关机啊! 所以,我们需要一个程序,让用户自行选择是否进行关…

85服务-ControlDTCSetting

诊断协议那些事儿 诊断协议那些事儿专栏系列文章,本文介绍诊断和通讯管理功能单元下的85服务ControlDTCSetting,该服务的目的是控制DTC设置。 文章目录诊断协议那些事儿一、85服务-ControlDTCSetting二、请求格式DTCSettingType三、肯定响应格式四、否…

PLC滑动平均值滤波(SMART 200梯形图篇)

滑动平均值滤波的算法原理请参看《信号处理》专栏的其它文章,这里给出简单快速写法,以供参考。 S7-200 SMART PLC信号处理系列之滑动平均值滤波FB_RXXW_Dor的博客-CSDN博客_plc平均值滤波程序PLC相关滤波算法,专栏有很多详细讲解这里不再赘述。滑动平均值滤波和算术平均值滤…

基于51单片机的多功能视力保护台灯

目录 摘要. 1 1弓I言 1 1.1 选 题 背 景 1 2 视力保护器的现状 2 1.3 本文主要研究内容 3 2系统硬件 设计 31 89c52 单片机简介 4 2.2 超声波测距报警 电路 53 89c5 2 单片机的中断系统 74 光线报警电路 8 1 光敏电阻控制电路 8 2.5 定时报菩电路 9 2.5. 1 单片机控制电路 10 …

[附源码]SSM计算机毕业设计茶园文化交流平台论文JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

u-boot对设备树的支持__传递dtb给内核

a. u-boot中内核启动命令: bootm <uImage_addr> // 无设备树,bootm 0x30007FC0 bootm <uImage_addr> <initrd_addr> <dtb_addr> // 有设备树 比如 : nand read.jffs2 0x30007FC0 kernel; // 读内核u…