vlambda博客
学习文章列表

大厂超火的 CI/CD 体系平台 Jenkins 详细搭建教程(for Linux)


在正式学习 Jenkins 之前我们需要对两个名词有一定了解,其一是 DevOps,另外一个就是 CI/CD。






何为 DevOps?






DevOps 是一系列软件开发实践,强调开发人员(Dev)和测试人员(QA)及运维人员(Ops)之间的沟通合作,通过自动化流程,使得软件构建、测试、发布更加快捷、频繁和可靠。(来自 wiki 百科介绍)


简单来说通过 DevOps 可以将开发、测试、运维三个团队紧密联系在一起,能够使得项目快速迭代、缩短项目上线时间。

需要注意的是 DevOps 是一种理念,而不是一种技术,在实际工作中落地应用这套理念需要有相对应的技术作为支撑,而 CI/CD 就是作为 DevOps 的最佳实践技术手段。






何为 CI/CD?


持续集成 (Continuous integration,简称 CI)

持续集成是一种开发实践,它倡导团队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。

让正在开发的软件始终处于可工作状态,让产品可以快速迭代,同时还能保持高质量。

持续交付(Continuous Delivery)

持续交付是持续集成的延伸或者看作持续集成的下一步,它将集成后的代码部署到类生产环境,确保可以以可持续的方式快速向客户发布新的更改。

如果代码没有问题,可以继续部署到生产环境中。它强调的是,不管怎么更新,软件是随时随地可以交付的。

持续部署(Continuous Deployment)

持续部署是持续交付的下一步,在持续交付的基础上,由开发人员或运维人员定期向生产环境部署稳定的构建版本。

持续部署的目标是代码在任何时刻都是可部署的,并可自动进入到生产环境。


而 CI/CD 整套流水线体系的运行我们需要 Jenkins 这样的平台去支撑。

大厂超火的 CI/CD 体系平台 Jenkins 详细搭建教程(for Linux)



大厂超火的 CI/CD 体系平台 Jenkins 详细搭建教程(for Linux)

大厂超火的 CI/CD 体系平台 Jenkins 详细搭建教程(for Linux)

大厂超火的 CI/CD 体系平台 Jenkins 详细搭建教程(for Linux)




部署 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

解决方案:添加 Java 命令的的软链接

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


访问 Jenkins 通过  http://你的服务器ip地址:8081  即可访问
  • 初始化配置,进入到对应目录通过 cat 命令查看初始化密码

cat /var/lib/jenkins/secrets/initialAdminPassword

大厂超火的 CI/CD 体系平台 Jenkins 详细搭建教程(for Linux)
  • 自定义插件进行安装

大厂超火的 CI/CD 体系平台 Jenkins 详细搭建教程(for Linux)
  • 勾选【无】选择安装

这里不选择插件安装是因为插件可能会下载失败,我们可以选择后续再去安装。

大厂超火的 CI/CD 体系平台 Jenkins 详细搭建教程(for Linux)
  • 填写管理员用户信息

大厂超火的 CI/CD 体系平台 Jenkins 详细搭建教程(for Linux)
  • 点击保存并完成即可

大厂超火的 CI/CD 体系平台 Jenkins 详细搭建教程(for Linux)