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.hqwc.cn/news/283115.html

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

相关文章

解决:AttributeError: module ‘scipy.misc’ has no attribute ‘imsave’

解决&#xff1a;AttributeError: module ‘scipy.misc’ has no attribute ‘imsave’ 文章目录 解决&#xff1a;AttributeError: module scipy.misc has no attribute imsave背景报错问题报错翻译报错位置代码报错原因解决方法方法一 scipy版本回退&#xff08;不推荐&#…

植物分类-PlantsClassification

一、模型配置 一、backbone resnet50 二、neck GlobalAveragePooling 三、head fc 四、loss type‘LabelSmoothLoss’, label_smooth_val0.1, num_classes30, reduction‘mean’, loss_weight1.0 五、optimizer lr0.1, momentum0.9, type‘SGD’, weight_decay0.0001 六、sche…

算法通关村第十二关—字符串冲刺题(黄金)

字符串冲刺题 一、最长公共前缀 LeetCode14 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀&#xff0c;返回空字符串"" 示例1&#xff1a; 输入&#xff1a;strs["flower","fLow","flight"] 输出&#xff1a;&…

BM61 矩阵最长递增路径

题目 矩阵最长递增路径 给定一个 n 行 m 列矩阵 matrix &#xff0c;矩阵内所有数均为非负整数。 你需要在矩阵中找到一条最长路径&#xff0c;使这条路径上的元素是递增的。并输出这条最长路径的长度。 这个路径必须满足以下条件&#xff1a; 1. 对于每个单元格&#xff0c;你…

Kafka相关知识

一、kafka架构 Kafka基础知识 Kafka是最初由Linkedin公司开发&#xff0c;是一个分布式、分区的、多副本的、多生产者、多订阅者&#xff0c;基于zookeeper协 调的分布式日志系统(也可以当做MQ系统)&#xff0c;常见可以用于webynginx日志、访问日志&#xff0c;消息服务等等&…

stm32F4——蜂鸣器与按键的实例使用

stm32F4——蜂鸣器与按键的实例使用 蜂鸣器和按键的实质都是GPIO的使用&#xff0c;所以基本原理就不介绍啦&#xff0c;基本寄存器其实都是GPIO的高低电平的赋值&#xff0c;可以参考stm32——LEDGPIO的详细介绍 使用的开发板是华清远见的stm32F407VET6&#xff0c;都是M4的内…

RabbitMq交换机详解

目录 1.交换机类型2.Fanout交换机2.1.声明队列和交换机2.2.消息发送2.3.消息接收2.4.总结 3.Direct交换机3.1.声明队列和交换机3.2.消息接收3.3.消息发送3.4.总结 4.Topic交换机4.1.说明4.2.消息发送4.3.消息接收4.4.总结 5.Headers交换机5.1.说明5.2.消息发送5.3.消息接收5.4.…

Mybatis 动态SQL插入操作②

结合上个博客一起看哦 上篇博客我们说.用户在表中插入数据的时候,有的数据可能不想插入,我们就需要设置,当用户插入这个字段的数据的时候就显示,不插入的话就为null,比如性别不想插入,那么 XML 代码如下 <?xml version"1.0" encoding"UTF-8"?> &…

MySQL性能测试(完整版)

MySQL性能测试之SysBench 一、SysBench安装 1、mac安装命令&#xff1a;&#xff08;其他系统安装对应的命令即可&#xff0c;不影响后面的使用&#xff09; brew install sysbench2、查看是否安装成功&#xff1b; sysbench --version附&#xff1a; &#xff08;1&#x…

鸿蒙4.0核心技术-WebGL开发

场景介绍 WebGL主要帮助开发者在前端开发中完成图形图像的相关处理&#xff0c;比如绘制彩色图形等。 接口说明 表1 WebGL主要接口列表 接口名描述canvas.getContext获取canvas对象上下文。webgl.createBuffer(): WebGLBuffernullwebgl.bindBuffer(target: GLenum, buffer: …

Apache Flume(5):多个agent模型

可以将多个Flume agent 程序连接在一起&#xff0c;其中一个agent的sink将数据发送到另一个agent的source。Avro文件格式是使用Flume通过网络发送数据的标准方法。 从多个Web服务器收集日志&#xff0c;发送到一个或多个集中处理的agent&#xff0c;之后再发往日志存储中心&…

Android 架构 - MVVM

一、概念 概念基于观察者模式&#xff0c;数据的变化会自动更新到UI。通信 View→ViewModel&#xff1a;View作为观察者&#xff0c;监听ViewModel中数据&#xff08;LiveData、Flow&#xff09;的变化从而自动更新UI。 ViewModel→Model&#xff1a;ViewModel调用Model获取数据…