type
status
date
slug
summary
tags
category
icon
password
Property
Mar 4, 2024 06:51 AM

目的

学习 Jenkins 的搭建

准备工作

  • 机器:vmware 虚拟机安装的 centos 的最小版本教程
  • 终端:zsh教程,安装了 autojump、zsh-autosuggestion 以及 zsh-syntax-highlighting 插件教程
  • 使用的 xshell 连接 vmware,方便熟悉教程
  • yum 源阿里源
最终终端图
notion image

正式开始

docker

docker 介绍

notion image
现在都流行容器化部署,想了解 docker 的点维基百科菜鸟教程

docker 安装

你也可以使用阿里源进行安装
安装成功再 docker -v查看
notion image

基本命令

配置阿里云源

拉取 Docker 镜像时,一般默认会去Docker官方源拉取镜像,为了优化速度我们更换为阿里云镜像仓库源进行镜像下载加速。
在对应/etc/docker/daemon.json添加内容就是了
notion image
 
notion image

安装 Jenkins

Jenkins 是一款由 Java 编写的开源的持续集成工具。在与 Oracle 发生争执后,项目从 Hudson 项目复刻。 Jenkins 提供了软件开发的持续集成服务。维基百科

安装防火墙

关于:
  • ip 的那个地方,我是使用的是的本地虚拟机,因此我配置的本地虚拟机的
notion image
必须配置,否则会之后的 docker 启动服务失败
 
notion image

docker in docker

简介

Docker 采用的是 C/S(即 Client/Server)架构。我们在执行 docker xxx 等命令时,其实是使用 Client 在和docker engine 在进行通信。
我们在安装 Docker CE 时,会生成一个systemd service服务。这个服务启动时,就是 Docker Engine 服务。默认情况下,Docker 守护进程会生成一个socket(/var/run/docker.sock)文件来进行本地进程通信,因此只能在本地使用 docker 客户端或者使用 Docker API 进行操作。
*.sock 文件:sock 文件是 UNIX 域套接字,它可以通过文件系统(而非网络地址)进行寻址和访问。 因此,只要把宿主机的 Docker 套接字通过 Docker 数据卷挂载到容器内部,就能实现在容器内使用 Docker 命令(如下图)。
notion image
使用方式docker run ... -v /var/run/docker.sock:/var/run/docker.sock

创建 Dockerfile

在/usr/dockerdemo1 建立一个 Dockerfile
内容

构建镜像

文件创建后,执行docker build -t local/jenkins .(名字为:local/jenkins)
notion image
如果提示 Successfully tagged local/jenkins:latest 则构建成功。
此处为第二次构建,第二次构建就会非常快,大概流程如下。
notion image

创建镜像和容器

我们将 Jenkins 用户目录外挂到宿主机内,先新建一个 /home/jenkins 目录,并设置权限:
接下来我们用镜像创建容器并启动:
创建成功
notion image

启动 Jenkins

设置防火墙

首先我们在防火墙添加 8080 和 50000 端口的放行,并重载防火墙
然后在宿主机IP:8080就可以看到界面了
notion image

设置源

设置源提高 Jenkins 插件下载速度。因为后面安装插件需要重启,因此这一步可以先操作,避免后面再重启。

初始化完成

初始化完成需要我们输入密码
notion image
我们执行命令
notion image
 
密码输入之后就是进入插件安装
notion image
设置源之后插件安装就很丝滑流畅
 
notion image
再就是设置管理员了,我这里使用的是:使用 admin 账户继续。
notion image
进入就是我们熟悉的界面了
notion image

小试牛刀

左侧新建 Item
notion image
 
notion image
notion image
输入代码
保存再触发立即构建就可以看到效果了。
notion image
可以在控制台看到对应的输出就大功告成了。
notion image

结语

至此,我们已经完整搭建了 Jenkins 环境,作为 CICD 不可少的一部分,也算是有了一个良好的开端。撒花!
 
CICD实战之Gitlab搭建CICD实战之基本介绍
  • Waline
Kitety
Kitety
独特为佳
公告
我曾经七次鄙视自己的灵魂
--卡里·纪伯伦
第一次,当它本可进取时,却故作谦卑;
第二次,当它在空虚时,用爱欲来填充;
第三次,在困难和容易之间,它选择了容易;
第四次,它犯了错,却借由别人也会犯错来宽慰自己;
第五次,它自由软弱,却把它认为是生命的坚韧;
第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;
第七次,它侧身于生活的污泥中,虽不甘心,却又畏首畏尾。
 
最新评论
Loading...