(二)CI/CD实践前准备之Docker集成Jenkins与环境准备

系列文章目录

(一)CI/CD实践前准备之Docker集成GitLab


文章目录

  • 系列文章目录
  • 前言
  • 一、术语概念解释
    • 1.什么是CI/CD
    • 2.什么是Jenkins
  • 二、使用Docker集成Jenkins
    • 1.环境准备
    • 2.Docker 安装
    • 3.jdk 安装
    • 4.安装jenkins
  • 总结


前言

随着现在软件技术的越发成熟,为了降本提效,很多公司都想尽了办法,最大程度的优化研发资源,自动化构建,持续集成,持续交互,持续部署的概念慢慢出现在软件的开发中。我们以前开发一个APP,往往都是研发开发完后,再打各种包给到测试验证,验证完测试还要单独出测试报告。有了自动化构建和CI/CD,可以把这些过程都做最大程度的自动化。有些不需要人为参与的测试,比如代码质量检测之类的都可以自动完成,可以很好的提高研发的效率,缩短软件的开发周期


一、术语概念解释

1.什么是CI/CD

(1)持续集成(Continuous Integration,CI):代码合并、部署、自动化测试都在一起,不断地执行这个过程,并对结果反馈。

(2)持续交付(Continuous Delivery,CD):是一种软件工程方法,让软件的产出过程在一个短周期内完成,以保障软件可以稳
定、持续的保持在随时可以发布的状态。与持续集成相比,持续交付偏重点在于可交付的产物。

(3)持续部署(Continuous Deployment,CD):通过自动化部署的手动将软件频繁的交付,部署到期望的环境。

2.什么是Jenkins

Jenkins是一款开源 CI&CD 系统,用于自动化各种任务,包括构建、测试和部署。

二、使用Docker集成Jenkins

1.环境准备

服务器:
准备一台服务器,可以是云服务器,也可以是你自己搭建的服务器,能用就行。

操作系统:
CentOS 7.6 64bit

2.Docker 安装

(1)清除旧版本:

yum remove docker \
docker-client \
docker-client-latest \
docker- common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-sqlinux \
docker-engine-selinux \
docker-engine \
docker-ce

(2)安装需要的软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

(3)修改镜像源为阿里的镜像源,因为国外的网络在国内访问会很慢,所以将镜像改为国内的镜像

在这里插入图片描述
可以输入cd /etc/yum.repos.d/ 命令后,再输入ll查看是否配置成功,如下图中标记点地方,有docker-ce的仓库就算是成功了
(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第1张图片

(4)更新软件包索引

(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第2张图片>(5)安装docker

yum install docker-ce 

输入命令后等待安装完成,有需要输入确认的地方直接输入确认就行了

安装完后使用docker -v检查是否安装好
在这里插入图片描述

(6)为Docker添加开机自启动

#启动:
systemctl start docker
#添加开机启动
systemctl enable docker

3.jdk 安装

为了后面的CI/CD项目,我们在这里就先给安装上,后面省得麻烦

(1)使用java -version检查下是否安装了JDK,如果已经安装了JDK,那么可以忽略这一小节,没有安装请往下看

(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第3张图片

(2)使用yum -y list java* 可以查看所有的java jdk版本
>(3)使用yum install -y java-1.8.0-openjdk安装JDK,安装完再继续使用java -verison检查是否安装成功
(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第4张图片

4.安装jenkins

(1)搜索镜像:docker search jenkins

(2)拉取镜像:docker pull jenkins/jenkins

使用docker images 已经可以看到Jenkins被拉取到本地了
在这里插入图片描述

(3)启动Jenkins

docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -u root \
-v /opt/jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /usr/local/maven:/usr/local/maven \
-v /usr/local/jdk:/usr/local/jdk \
-v /etc/localtime:/etc/localtime \
--restart=always \
--name jenkins jenkins/jenkins

(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第5张图片

这里需要对参数做些解释:
-d 表示启动在后台
–name 表示容器名字
-p 端口映射:8080是暴露给外部的端口,50000是Jenkins工作之间用于通信的端口,分布式构建的时候需要用到
-v :数据卷挂载映射(/opt/jenkins_home:宿主主机目录,另外一个即是容器目录)

(4)容器启动成功后,接下来就是进入容器:docker exec -it jenkins /bin/bash
在这里插入图片描述进入容器后使用命令cat /var/jenkins_home/secrets/initialAdminPassword 获取Jenkins的初始密码,这个密码在第一次进入Jenkins时需要
在这里插入图片描述

(5)在web端访问jenkins的8080端口
使用你的服务器的公网IP+8080:例如:xxxx:8080访问

(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第6张图片这时候你会发现居然会报链接超时,不要慌,遇到这种情况检查下你的服务器防火墙。这里给一个快速的解决办法,如果你买的是云服务器,进入你的控制台,找到你的云服务器实例,我的是腾讯云服务器,其他的也差不多
(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第7张图片选择编辑第一个为all,保存提交就可以了
(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第8张图片然后刷新下你刚才的页面,就会发现可以开始配置jenkins了
(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第9张图片把上一步中获取到的密码输入这里面,就可以进入jenkins的配置了,输入密码成功后会进入下面的页面
(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第10张图片
这里需要注意我们插件后面需要啥咱们再安装啥,所以选择第二个把,然后把所有选中的插件都去掉。
(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第11张图片去掉全部选中后,点击安装,然后会进入到设置管理员账号密码的界面
(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第12张图片设置完你的账号密码后就会进入下面的页面
(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第13张图片点击保存并完成就可以了
(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第14张图片最后你就会看到你熟悉的界面
(二)CI/CD实践前准备之Docker集成Jenkins与环境准备_第15张图片到此为止,jenkins安装完成


总结

以上就是今天讲的内容,本文主要介绍了CI/CD 的概念和jenkins,以及做CI/CD的环境准备和jenkins的安装,后面会讲到jenkins的使用以及如何使用jenkins实现线上自动化构建打包,即CI/CD,敬请期待

你可能感兴趣的:(CI/CD,持续集成/持续部署,jenkins,ci/cd,docker,自动构建,自动打包)