【Linux】Docker 搭建 Jenkins
创始人
2024-03-26 02:37:59
0

🍁博主简介

  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!

目录

  • 一、Jenkins到底是什么?
  • 二、持续集成、自动部署流程
  • 三、使用docker部署Jenkins
    • 1 安装docker服务并添加docker的镜像加速源
    • 2 拉取Jenkins镜像
    • 3 创建Jenkins挂载目录并赋予权限
    • 4 创建Jenkins容器并运行
    • 5 页面访问jenkins
      • 5.1 解锁 Jenkins
      • 5.2 自定义Jenkins---安装推荐插件
        • 5.2.1 配置镜像加速器
      • 5.3 创建管理用户
      • 5.4 实例配置
      • 5.5 开始使用
  • 四、Jenkins安装Github所需插件
  • 五【附加】 github生成Token步骤
    • 1 访问github并登录
    • 2 配置Personal Access Token

一、Jenkins到底是什么?

  Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。下面为项目持续集成和交互的流程图

在这里插入图片描述

二、持续集成、自动部署流程

在这里插入图片描述

  开发人员将代码push到gitlab中,触发jenkins的自动pull拉取代码,通过maven编译、打包,然后通过执行shell脚本使docker构建镜像并push到私服(或者阿里云)仓库,此操作完成后jenkins服务器上再执行SSH命令登录到部署服务器,docker从仓库(私服)拉取镜像,启动容器。整个操作流程完成。

三、使用docker部署Jenkins

1 安装docker服务并添加docker的镜像加速源

首先安装docker,并且添加docker的镜像加速源;添加docker的镜像源可以加速拉取镜像;

docker安装的方式可参考:linux(centos)中部署docker(步骤超全,含带一些发展史和一些概念)

更换docker的镜像源:

#切换到/etc/docker/
cd /etc/docker/#创建daemon.json文件
touch daemon.json
#或者直接vim daemon.json
vim daemon.json{"registry-mirrors":["https://fdsfa43fg.mirror.aliyuncs.com"]
}#写入完成之后保存退出重新加载配置并重启docker服务
#保存退出
:wq#重新加载配置
systemctl daemon-reload#重启docker服务
systemctl restart docker

重启完可用docker info命令查看是否添加上

docker info

在这里插入图片描述

2 拉取Jenkins镜像

docker pull jenkins/jenkins

等待拉取即可;

在这里插入图片描述

拉取完成之后查看镜像

[root@localhost docker]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
jenkins/jenkins     latest              55860ee0cd73        10 months ago       442MB

3 创建Jenkins挂载目录并赋予权限

3.1 稍后可以将docker内的目录挂载到此目录上,方便操作容器内文件夹而不需要进入容器

mkdir -p /var/jenkins_home

3.2 为挂载目录赋予权限

chmod 777 /var/jenkins_home

4 创建Jenkins容器并运行

docker run -itd --name jenkins --restart=always --network=host --privileged=true -v /var/jenkins_home/:/var/jenkins_home/ -v /etc/localtime:/etc/localtime jenkins/jenkins:latest

创建并启动一个名为Jenkins的docker容器:
-it是以交互式创建,-d是后台执行;
–name是让其自定义一个名字jenkins(自定义);
–restart是设置开机自动重启 always开机自动重启;
–network是网络模式 host是主机模式;
–privileged是加上这个参数容器内就会拥有和容器外一样的root权限了;
-v是将容器中的/var/jenkins_home挂载到本机的/var/jenkins_home目录,前者为本机地址,后者为容器地址 ;
最后jenkins/jenkins则是本次运行使用的镜像;

5 页面访问jenkins

docker ps -a 

jenkins运行中页面访问

在这里插入图片描述
ip:port

如:遇到页面访问不到的情况,可使用netstat -anput | grep port 查看端口是否被占用;

在这里插入图片描述

5.1 解锁 Jenkins

根据提示找到jenkins的密码;

在这里插入图片描述

[root@localhost secrets]# cat /var/jenkins_home/secrets/initialAdminPassword 
82112870c37694a46ab4f732dafsfa0019334ef0

将密码复制到页面上,点击继续;

5.2 自定义Jenkins—安装推荐插件

可选择使用推荐插件自定义插件;推荐使用推荐插件

在这里插入图片描述

5.2.1 配置镜像加速器

插件安装失败或速度过慢,可通过配置镜像加速解决。

#停止jenkins容器
docker stop jenkins#进入jenkins挂载的文件中
cd /var/jenkins_home/#编辑配置文件
vim hudson.model.UpdateCenter.xml#将url值修改为清华大学官方镜像地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json#保存退出重启容器
:wq
docker restart jenkins

在这里插入图片描述

5.3 创建管理用户

在这里插入图片描述

5.4 实例配置

直接保存并完成即可
在这里插入图片描述

5.5 开始使用

在这里插入图片描述

四、Jenkins安装Github所需插件

需要安装几个必须的插件:CloudBees CredentialsGitHub API PluginSSH Credentials PluginGit client pluginSCM APIMailer PluginPlain Credentials PluginGIT pluginGitHub PluginPublish Over.SSHMaven Integration

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

五【附加】 github生成Token步骤

1 访问github并登录

github官网:https://github.com/

登录:

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

2 配置Personal Access Token

在对项目有写权限的用户上获取token进入github –> setting –> Developer settings –> Personal Access Token –> Token –> Generate new token

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

找到tokens,新建tokens并设置读、写、执行权限

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

相关内容

热门资讯

介绍丽江古城的导游词 介绍丽江古城的导游词  丽江古城是联合国教科文组织确认的“世界文化遗产”和国务院公布的“中国历史文化...
汾河公园导游词 汾河公园导游词7篇  作为一位兢兢业业的旅游从业人员,时常需要用到导游词,导游词由引言、主体和结语三...
陕西大雁塔导游词 陕西大雁塔导游词7篇  作为一名尽职尽责的导游,时常要开展导游词准备工作,导游词是导游员同游客交流思...
北京八达岭长城旅游导游介绍词 北京八达岭长城旅游导游介绍词  各位游客,你们好,欢迎来到八达岭长城。今天由我为大家做导游,在这里祝...
灵山大佛完整导游词 灵山大佛完整导游词  灵山大佛坐落于无锡马山秦履峰南侧的小灵山地区,该处原为唐宋名刹祥符寺之旧址。下...
敦煌市鸣沙山和月牙泉风景名胜... 敦煌市鸣沙山和月牙泉风景名胜区导游词  鸣沙山和月牙泉风景名胜区位于甘肃省河西走廊西端的敦煌市。敦煌...
虎山长城导游词 虎山长城导游词  各位游客,大家好!  欢迎大家来到虎山长城观光旅游。很高兴能陪大家一起参观,希望大...
张家界天子山索道的导游词 张家界天子山索道的导游词  尊敬的各位来宾,各位朋友:  大家好!  今天,我们游览的是张家界武陵源...
雅鲁藏布大峡谷的导游词 雅鲁藏布大峡谷的导游词范文(通用12篇)  导游词是导游人员引导游客观光游览时的讲解词,是导游员同游...
广西著名德天瀑布导游词 广西著名德天瀑布导游词  作为一名专门为游客提供帮助的导游,可能需要进行导游词编写工作,导游词是导游...
华山导游词 华山导游词范文  导游词范文一  朋友们:大家好!  欢迎大家来华山观光旅游!今天由我给大家做导游服...
广东顺德清晖园概况讲解词 广东顺德清晖园概况讲解词  作为一位出色的导游人员,就难以避免地要准备导游词,导游词是导游员在游览时...
贵州兴义万峰湖导游词 贵州兴义万峰湖导游词  万峰湖位于贵州省黔西南自治州首府兴义市东南部,是中华人民共和国兴义国家地质公...
扬州个园简介导游词 扬州个园简介导游词  导语:扬州的个园,是一座独具风格的名园。它是清嘉庆、道光年间兴建起来的。当时园...
千岛湖导游词 千岛湖导游词  作为一名导游,有必要进行细致的导游词准备工作,导游词是我们引导游览时使用的讲解词。那...
四川峨眉山导游词 四川峨眉山导游词15篇  作为一名优秀的旅游从业人员,通常会被要求编写导游词,导游词具有极强的实用性...
四川经典导游词 四川经典导游词(通用13篇)  作为一位无私奉献的导游,通常需要用到导游词来辅助讲解,导游词是导游员...
鹿邑老君台导游词 鹿邑老君台导游词  老君台原名升仙台或拜仙台,原为明道宫的一部分,位于老子故里鹿邑县城内东北隅,老君...
长城英文导游词最新 长城英文导游词【最新】  长城是我国著名的古建筑,下面是由应届毕业生小编为大家带来的关于长城英文导游...
西部梦幻峡谷旅游区导游词 西部梦幻峡谷旅游区导游词各位游客,女士们、先生们:  大家上午好!我叫巴图,蒙古语意为坚固的、可靠的...