大厂超火的 CI/CD 体系平台 Jenkins 详细搭建教程(for Linux)
在正式学习 Jenkins 之前我们需要对两个名词有一定了解,其一是 DevOps,另外一个就是 CI/CD。
DevOps 是一系列软件开发实践,强调开发人员(Dev)和测试人员(QA)及运维人员(Ops)之间的沟通合作,通过自动化流程,使得软件构建、测试、发布更加快捷、频繁和可靠。(来自 wiki 百科介绍)
简单来说通过 DevOps 可以将开发、测试、运维三个团队紧密联系在一起,能够使得项目快速迭代、缩短项目上线时间。
需要注意的是 DevOps 是一种理念,而不是一种技术,在实际工作中落地应用这套理念需要有相对应的技术作为支撑,而 CI/CD 就是作为 DevOps 的最佳实践技术手段。
持续集成 (Continuous integration,简称 CI)
持续集成是一种开发实践,它倡导团队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。
持续交付(Continuous Delivery)
如果代码没有问题,可以继续部署到生产环境中。它强调的是,不管怎么更新,软件是随时随地可以交付的。
持续部署是持续交付的下一步,在持续交付的基础上,由开发人员或运维人员定期向生产环境部署稳定的构建版本。
而 CI/CD 整套流水线体系的运行我们需要 Jenkins 这样的平台去支撑。
这里以 Linux 平台(CentOS 7)为例讲解
安装配置 JDK 环境
从官网下载 JDK 压缩包,拷贝到 Linux 系统 opt 目录下
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
解压:
tar -xzvf jdk-8u121-linux-x64.tar.gz
配置环境变量, /etc/profile 文件每个用户登录时都会运行的环境变量设置
vim /etc/profile
在最末尾进行配置
export JAVA_HOME=/opt/jdk1.8.0_121
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
注意: JAVA_HOME 需要配置为本地 JDK 家目录
使配置生效
source /etc/profile
验证 JDK 配置
java -version
安装配置 Jenkins
从官网下载 Jenkins rpm 包
wget https://pkg.jenkins.io/redhat-stable/jenkins-2.249.3-1.1.noarch.rpm
安装 Jenkins
rpm -ivh jenkins-2.249.3-1.1.noarch.rpm
启动 Jenkins systemctl start jenkins 可能遇到的报错:
Starting Jenkins bash: /usr/bin/java: No such file or directory
ln -s /opt/jdk1.8.0_121/bin/java /usr/bin/java
修改 Jenkins 端口号
默认 Jenkins 会使用 8080 端口,此端口会被很多程序使用,比如 Tomcat
vim /etc/sysconfig/jenkins
编辑 JENKINS_PORT 配置选项
## Type: integer(0:65535)
## Default: 8080
## ServiceRestart: jenkins
#
# Port Jenkins is listening on.
# Set to -1 to disable
#
JENKINS_PORT="8081"
重启 Jenkins
systemctl restart jenkins
使用 Jenkins
初始化配置,进入到对应目录通过 cat 命令查看初始化密码
cat /var/lib/jenkins/secrets/initialAdminPassword
自定义插件进行安装
勾选【无】选择安装
这里不选择插件安装是因为插件可能会下载失败,我们可以选择后续再去安装。
填写管理员用户信息
点击保存并完成即可