从零开始搭建流水线(一)
一、安装docker
1.移除旧docker
yum remove docker*
2.设置docker yum源
2.1先安装yum utils
yum install -y yum-utils
2.2设置docker阿里云yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装docker
3.1选择合适的docker版本
yum list docker-ce --showduplicates | sort -r
- docker默认会安装最新版本的,一般在使用过程中,我们会选择相对稳定的版本。最新版本有一定的风险。
- 我们可以在以上版本中选择一个版本进行安装
3.2安装docker
yum install docker-ce-3:19.03.9-3.el7.x86_64 docker-ce-cli-3:19.03.9-3.el7.x86_64 containerd.io
- 安装过程中会出现两次确认,均输入y
- 最后出现complete,至此,docker安装完成
二、安装Jenkins
可以参照Jenkins官方文档,有中文。
官方文档对Jenkins的介绍非常详细和完整。
以下是按照jenkins的步骤
1.选择docker镜像
docker hub选择镜像
- 官网地址 registry.hub.docker.com/
- 没有docker账户,可以通过邮箱注册一个
搜索Jenkins
点进来后,可以看到官方说这个镜像已经废弃两年,并且提供新的地址。
点击tags,可以选择不同的镜像。
2Jenkins安装 官方命令
docker run \
-u root \
--rm \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
-- rm
(可选)
jenkinsci/blueocean
关闭时自动删除Docker容器(下图为实例)。如果您需要退出Jenkins,这可以保持整洁。-d
(可选)
jenkinsci/blueocean
在后台运行容器(即“分离”模式)并输出容器ID。如果您不指定此选项, 则在终端窗口中输出正在运行的此容器的Docker日志。-p 8080:8080
映射(例如“发布”)
jenkinsci/blueocean
容器的端口8080到主机上的端口8080。 第一个数字代表主机上的端口,而最后一个代表容器的端口。因此,如果您为此选项指定-p 49000:8080
,您将通过端口49000访问主机上的Jenkins。-p 50000:50000
(可选)将
jenkinsci/blueocean
容器的端口50000 映射到主机上的端口50000。 如果您在其他机器上设置了一个或多个基于JNLP的Jenkins代理程序,而这些代理程序又与jenkinsci/blueocean
容器交互(充当“主”Jenkins服务器,或者简称为“Jenkins主”), 则这是必需的。默认情况下,基于JNLP的Jenkins代理通过TCP端口50000与Jenkins主站进行通信。 您可以通过“ 配置全局安全性” 页面更改Jenkins主服务器上的端口号。如果您要将您的Jenkins主机的JNLP代理端口的TCP端口 值更改为51000(例如),那么您需要重新运行Jenkins(通过此 docker run …命令)并指定此“发布”选项 -p 52000:51000,其中最后一个值与Jenkins master上的这个更改值相匹配,第一个值是Jenkins主机的主机上的端口号, 通过它,基于JNLP的Jenkins代理与Jenkins主机进行通信 - 例如52000。-v jenkins-data:/var/jenkins_home \
(可选,但强烈建议)映射在容器中的
/var/jenkins_home
目录到具有名字jenkins-data
的volume。 如果这个卷不存在,那么这个docker run
命令会自动为你创建卷。 如果您希望每次重新启动Jenkins(通过此docker run ...
命令)时保持Jenkins状态,则此选项是必需的 。 如果你没有指定这个选项,那么在每次重新启动后,Jenkins将有效地重置为新的实例。 注意: 所述的jenkins-data
卷也可以docker volume create
命令创建:docker volume create jenkins-data
代替映射/var/jenkins_home
目录转换为Docker卷,还 可以将此目录映射到计算机本地文件系统上的目录。 例如,指定该选项-v $HOME/jenkins:/var/jenkins_home
会将容器的/var/jenkins_home
目录映射 到 本地计算机上目录中的jenkins
子目录, 该$HOME目录通常是/Users/<your-username>/jenkins
或/home/<your-username>/jenkins
。-v jenkins-data:/var/jenkins_home
(可选,但强烈建议)映射在容器中的
/var/jenkins_home
目录到具有名字jenkins-data
的volume。 如果这个卷不存在,那么这个docker run
命令会自动为你创建卷。 如果您希望每次重新启动Jenkins(通过此docker run ...
命令)时保持Jenkins状态,则此选项是必需的 。 如果你没有指定这个选项,那么在每次重新启动后,Jenkins将有效地重置为新的实例。注意: 所述的
jenkins-data
卷也可以docker volume create
命令创建:docker volume create jenkins-data
代替映射/var/jenkins_home
目录转换为Docker卷,还 可以将此目录映射到计算机本地文件系统上的目录。 例如,指定该选项-v $HOME/jenkins:/var/jenkins_home
会将容器的/var/jenkins_home
目录映射 到 本地计算机上目录中的jenkins
子目录, 该$HOME目录通常是/Users/<your-username>/jenkins
或/home/<your-username>/jenkins
-v /var/run/docker.sock:/var/run/docker.sock
(可选
/var/run/docker.sock
表示Docker守护程序通过其监听的基于Unix的套接字。 该映射允许jenkinsci/blueocean
容器与Docker守护进程通信, 如果jenkinsci/blueocean
容器需要实例化其他Docker容器,则该守护进程是必需的。 如果运行声明式管道,其语法包含agent
部分用docker
- 以上摘自Jenkins官网
3.启动docker
systemctl start docker
4.配置阿里云docker镜像加速
1.登录阿里云
2.选择容器镜像服务
3.选择镜像加速
4.根据自己系统选择,直接复制到自己机器执行
4.安装Jenkins
-
执行以下命令进行安装
docker run \ -u root \ -d \ -p 8080:8080 \ -p 50000:50000 \ -v jenkins-data:/var/jenkins_home \ -v /etc/localtime:/etc/localtime:ro \ -v /var/run/docker.sock:/var/run/docker.sock \ --restart=always \ jenkinsci/blueocean
- 下载完成后,看Jenkins是否成功启动
- 此时可以通过ip:8080访问Jenkins
- 此时需要输入密码,启动的时候对docker做了挂载,所以次目录位置也会发生变动
- 可以通过查看启动log的方式获取此密码
4.1查看docker ID
docker ps
4.2根据ID查看log
docker logs 95db67934576
- 红框中便是密码,复制到Jenkins中
5.按照Jenkins插件
- 众所周知,Jenkins拥有非常多且功能强大的插件。
- 选择推荐安装
6.创建管理员用户
- 接下来点击重启。
- 刷新页面来到登录页
- 至此,Jenkins就搭建完毕了,