【Linux】Docker 搭建 Jenkins
创始人
2024-03-26 04:12:54
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并设置读、写、执行权限

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

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...