Jenkins----基于 CentOS 或 Docker 安装部署Jenkins并完成基础配置

查看原文

文章目录

  • 基于 CentOS7 系统部署 Jenkins 环境
  • 基于 Docker 安装部署 Jenkins环境
  • 配置 Jenkins 中文模式
  • 配置用户名密码形式的 Jenkins 凭据
  • 配置 ssh 私钥形式的 Jenkins 凭据
  • 配置 Jenkins 执行任务的节点

基于 CentOS7 系统部署 Jenkins 环境

(1)首先确保已经安装jdk,如未安装,请参考 Java----新手一步一步安装 Java 语言开发环境 先安装jdk环境

(2)配置Jenkins源

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

(3)安装Jenkins

yum install epel-release
yum install java-11-openjdk-devel
yum install jenkins

(4)配置Jenkins端口号

vi /etc/sysconfig/jenkins

如下,可自定义修改监听端口

#监听端口
JENKINS_PORT="10003"

(5)配置用户

vi /etc/sysconfig/jenkins

如下,将用户设置为 root

#修改配置
$JENKINS_USER="root"

(6)修改目录权限

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

(7)启动Jenkins

systemctl start jenkins

(8)网页打开Jenkins,如:在网页打开,如 http://192.168.1.210:10003/
如下,根据页面提示找到密码并填入

[root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
599ad742855948e0b8af280ad2e1f09f

(9)可以选择推荐的插件

(10)创建一个用户,如admin/admin

(11)如下,点击保存并完成安装

(12)至此,Jenkins搭建完成

基于 Docker 安装部署 Jenkins环境

(1)下载Jenkins镜像

docker pull jenkins/jenkins:lts

(2) 创建挂载目录

mkdir -p /docker/jenkins/var/jenkins_home
chmod 777 /docker/jenkins/var/jenkins_home

(3) 启动docker部署Jenkins

docker run -d -p 10002:8080 -p 10003:50000 -v /docker/jenkins/var/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins:lts

(4) 配置镜像加速器

cd /docker/jenkins/var/jenkins_home/
vi hudson.model.UpdateCenter.xml

然后将url修改https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json ,内容如下:

<?xml version='1.1' encoding='UTF-8'?>
<sites><site><id>default</id><url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url></site>
</sites>

(5) 浏览器打开 ip:10002

(6) 查看管理员密码
这里需要注意一下docker挂载目录

cat /docker/jenkins/var/jenkins_home/secrets/initialAdminPassword

(7) 选择插件安装
此时可以选择“选择插件安装”,这样便于后面了解各种插件的作用

此时可以先不选插件,插件可以后续按需安装

(8) 然后设置管理员账号和密码

(9) 然后选择默认的URL,安装完成后如下

配置 Jenkins 中文模式

(1) 安装locale和Localization: Chinese (Simplified)插件
在【Manage jenkins】-【Manage Plugins 】-【Available】中搜索Locale和Localization: Chinese (Simplified)插件,安装成功后重启jenkins

(2) 设置语言为中文
进入系统管理Manage Jenkins > Configure System,设置 Language为zh_cn,应用后刷新

配置用户名密码形式的 Jenkins 凭据

(1)打开Jenkins后,点击【系统管理】-【管理凭据】

(2)如下,点击【Jenkins】

(3)点击【全局凭据】

(4)点击【添加凭据】

(5)选择【Username with password】,然后填写用户名,比如demo,填写密码,注意,这里描述一定要填写,描述主要是方便后续使用或查看的时候知道这个用户名密码是做什么用的,比如这里填写“demo密钥测试用”,点击【确定】

(6)此时可以看到已经添加成功

配置 ssh 私钥形式的 Jenkins 凭据

在下载代码的时候经常会需要使用ssh私钥,因此,在Jenkins上需要事先配置好ssh私钥的凭证
(1)点击【系统管理】-【管理凭据】

(2)点击【Jenkins】

(3)点击【全局凭据】

(4)点击【添加凭据】

(5)选择【SSH Username with private key】,然后填写描述,主要用于后续辨别凭证的作用,然后填写用户名,这个一般是linux虚拟机上配置的用户,一般为邮箱名,然后选择 【Enter directly】

(6)到linux虚拟机上执行如下命令查看私钥

cat /root/.ssh/id_rsa

复制类似如下的私钥

(7)将私钥复制到步骤(5)中的key处,然后点击确定即可

配置 Jenkins 执行任务的节点

(1)在【Manage jenkins】-【Manage Plugins 】-【Available】中搜索SSH Agent和SSH Build Agents plugin插件,安装成功后重启jenkins

(2)配置 SSH Server:
Jenkins- 系统管理 - 全局安全配置, 把 SSH Server 设置为启用(默认是禁用)

(3)登录jenkins后,点击【系统管理】-【节点管理】

(4)点击【新建节点】

(5)填写节点名称,最好将ip或者计算机名填上,便于后期维护查看

(6)设置节点信息
1)设置工作目录,比如 /var/jenkins/workspace
2)启动方式选择 【Luanch agent via SSH】
3)凭据选择ssh登录此虚拟机的用户名密码,需要提前设置凭据

(7)继续接步骤4设置节点信息
1)Host key确认策略选择不确认
2)节点属性设置Git的路径
可通过在虚拟机上执行 which git 查看git的安装路径,如虚拟机尚未安装,则可参考 Git----学习Git第一步基于 Windows 10 系统和 CentOS7 系统安装 Git
3)设置 JAVA_HOME环境变量,可在虚拟机上通过 echo $JAVA_HOME 查看,如果虚拟机尚未安装jdk,则可参考 Java----新手一步一步安装 Java 语言开发环境

然后点击【保存】,完成节点信息的设置

(8)在虚拟机上为jenkins设置java链接文件

# 这里 /var/jenkins/workspace 为上述步骤设置的节点的工作目录
mkdir -p /var/jenkins/workspace/jdk/bin/     
which java
#  which java 命令的结果,/usr/local/jdk1.8.0_301/bin/java,然后创建软连接
ln -s /usr/local/jdk1.8.0_301/bin/java /var/jenkins/workspace/jdk/bin/java

(9)然后点击刚刚创建的节点

(10)点击【启动代理】

(11)如下图所示,表示节点已经增加成功,并且启动上线成功

至此,Jenkins 基本就搭建起来了。

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

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

相关文章

使用Nginx实现负载均衡的实践指南

目录 前言1 负载均衡简介2 需要实现的效果3 准备2个tomcat服务器4 配置Nginx实现负载均衡5 Nginx的服务器策略5.1 轮询&#xff08;默认&#xff09;5.2 权重&#xff08;weight&#xff09;5.3 IP哈希&#xff08;ip_hash&#xff09;5.4 响应时间公平分配&#xff08;fair&am…

C# DotNetCore AOP简单实现

背景 实际开发中业务和日志尽量不要相互干扰嵌套&#xff0c;否则很难维护和调试。 示例 using System.Reflection;namespace CSharpLearn {internal class Program{static void Main(){int age 25;string name "bingling";Person person new(age, name);Conso…

Day63力扣打卡

打卡记录 寻找最近的回文数&#xff08;模拟&#xff09; 链接 class Solution:def nearestPalindromic(self, n: str) -> str:m len(n)candidates [10 ** (m - 1) - 1, 10 ** m 1]selfPrefix int(n[:(m 1) // 2])for x in range(selfPrefix - 1, selfPrefix 2):y …

[强网杯 2019]Upload

[强网杯 2019]Upload 开放注册直接注册一个账号然后登录进去 先对页面进行简单文件上传测试发现都不存在漏洞对网站进行目录扫描 发现www.tar.gz 打开发现是tp5框架发现源码 这里如果前面信息收集的完整会发现存在反序列化 对注册&#xff0c;登录&#xff0c;上传文件页面分…

STM32F103RCT6开发板M3单片机教程06--定时器中断

前言 除非特别说明&#xff0c;本章节描述的模块应用于整个STM32F103xx微控制器系列&#xff0c;因为我们使用是STM32F103RCT6开发板是mini最小系统板。本教程使用是&#xff08;光明谷SUN_STM32mini开发板&#xff09; STM32F10X定时器(Timer)基础 首先了解一下是STM32F10X…

时序预测 | Python实现GRU-XGBoost组合模型电力需求预测

时序预测 | Python实现GRU-XGBoost组合模型电力需求预测 目录 时序预测 | Python实现GRU-XGBoost组合模型电力需求预测预测效果基本描述程序设计参考资料预测效果 基本描述 该数据集因其每小时的用电量数据以及 TSO 对消耗和定价的相应预测而值得注意,从而可以将预期预测与当前…

Linux:超级管理员(root用户)创建用户、用户组

root用户&#xff1a; 拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。 演示&#xff1a; 1、使用普通用户在根目录下创建文件夹&#xff08;失败&#xff09; 2、切换到root用户后&#xff0c;继续尝试&#xff08;成功&#xff09; 3、普通用户的权限&#…

TCP/IP详解——DNS 流量分析

文章目录 1. DNS 流量分析1.1 DNS 基本概念1.2 DNS 系统特性1.3 DNS 效率问题1.4 域名的组成1.5 域名解析系统1.5.1 域名解析过程 1.6 DNS 记录种类1.7 DNS 的报文格式1.7.1 DNS 报文中的基础结构部分1.7.2 DNS 查询报文中的问题部分1.7.3 DNS 响应报文中的资源记录部分1.7.4 示…

【开源项目】WPF 扩展 -- 多画面视频渲染组件

目录 1、项目介绍 2、组件集成 2.1 下载地址 2.2 添加依赖 3、使用示例 3.1 启动动画 3.2 视频渲染 3.3 效果展示 4、项目地址 1、项目介绍 Com.Gitusme.Net.Extensiones.Wpf 是一款 Wpf 扩展组件。基于.Net Core 3.1 开发&#xff0c;当前是第一个发布版本 1.0.0&am…

Java架构师系统架构内部维度分析

目录 1 导语2.1 安全性维度概述2.2 流程安全性2.3 架构安全性2.4 安全维度总结3 伸缩性维度概述和场景思路3.1 无状态应用弹性伸缩3.2 阿里云Knative弹性伸缩3.3 有状态应用弹性伸缩3.4 伸缩性维度总结想学习架构师构建流程请跳转:Java架构师系统架构设计 1 导语

数据仓库与数据挖掘c5-c7基础知识

chapter5 分类 内容 分类的基本概念 分类 数据对象 元组(x,y) X 属性集合 Y 类标签 任务 基于有标签的数据&#xff0c;学习一个分类模型&#xff0c;通过这个分类模型&#xff0c;可以把一组属性x映射到一个特定的类别y上 类别y 提前设定好的--如&#xff1a;学生…

git 切换远程地址分支 推送到指定地址分支 版本回退

切换远程地址 1、切换远程仓库地址&#xff1a; 方式一&#xff1a;修改远程仓库地址 【git remote set-url origin URL】 更换远程仓库地址&#xff0c;URL为新地址。 git remote set-url https://gitee.com/xxss/omj_gateway.git 方式二&#xff1a;先删除远程仓库地址&…

八股文打卡day2——计算机网络(2)

面试题&#xff1a;讲一下三次握手的过程&#xff1f; 我的回答&#xff1a; 1.客户端发送报文段到服务器&#xff0c;主动建立连接。这个报文段中SYN标志位表示&#xff1a;这个报文段是用于连接的&#xff0c;此时SYN标志位设置为1。其中初始序列号字段包含了客户端的初始序…

华为鸿蒙应用--欢迎页SplashPage+倒计时跳过(自适应手机和平板)-ArkTs

鸿蒙ArkTS 开发欢迎页SplashPage倒计时跳过&#xff0c;可自适应平板和手机&#xff1a; 一、SplashPage.ts import { BreakpointSystem, BreakPointType, Logger, PageConstants, StyleConstants } from ohos/common; import router from ohos.router;Entry Component struct…

2023/12/17 初始化

普通变量&#xff08;int,float,double变量&#xff09;初始化&#xff1a; int a0; float b(0); double c0; 数组初始化&#xff1a; int arr[10]{0}; 指针初始化&#xff1a; 空指针 int *pnullptr; 被一个同类型的变量的地址初始化&#xff08;赋值&#xff09; int…

饥荒Mod 开发(十四):制作屏幕弹窗

饥荒Mod 开发(十三)&#xff1a;木牌传送 在上一个文章里面制作了一个传送选择页面&#xff0c;是一个全屏的窗口&#xff0c;那饥荒中如何制作一个全屏的窗口&#xff0c;下面介绍一下如何从零开始制作一个全屏窗口 制作屏幕窗口 饥荒中的全屏窗口都有一个基类 “Screen”,我…

结构型设计模式(一):门面模式 组合模式

门面模式 Facade 1、什么是门面模式 门面模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;旨在为系统提供一个统一的接口&#xff0c;以便于访问子系统中的一群接口。它通过定义一个高层接口&#xff0c;简化了客户端与子系统之间的交互&#xf…

优质全套SpringMVC教程

三、SpringMVC 在SSM整合中&#xff0c;MyBatis担任的角色是持久层框架&#xff0c;它能帮我们访问数据库&#xff0c;操作数据库 Spring能利用它的两大核心IOC、AOP整合框架 1、SpringMVC简介 1.1、什么是MVC MVC是一种软件架构的思想&#xff08;不是设计模式-思想就是我们…

【具身智能评估3】具身视觉语言规划(EVLP)度量标准汇总

参考论文&#xff1a;Core Challenges in Embodied Vision-Language Planning 论文作者&#xff1a;Jonathan Francis, Nariaki Kitamura, Felix Labelle, Xiaopeng Lu, Ingrid Navarro, Jean Oh 论文原文&#xff1a;https://arxiv.org/abs/2106.13948 论文出处&#xff1a;Jo…

netty-daxin-4(httpwebsocket)

文章目录 学习链接http服务端NettyHttpServerHelloWorldServerHandler 客户端ApiPost websocket初步了解为什么需要 WebSocket简介 浏览器的WebSocket客户端客户端的简单示例客户端的 APIWebSocket 构造函数webSocket.readyStatewebSocket.onopenwebSocket.onclosewebSocket.ο…