一、DevOps介绍
DevOps 一词的来自于 Development 和 Operations 的组合,突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。DevOps 其实包含了三个部分:开发、测试和运维。换句话 DevOps 希望做到的是软件产品交付过程中IT工具链的打通,使得各个团队减少时间损耗,更加高效地协同工作。
(1)持续集成
持续集成是一个将集成提前到开发周期的实践方式。让构建、测试和集成代码变更集成经常反复发生。
通俗来说,持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
(2)持续交付
持续交付意味着每次修改、整合和构建代码时,也同时在类似于生产环境中测试代码。
持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续部署到生产环境中。
(3)持续部署
持续交付即在持续交付之后,将在测试机上没有问题的代码部署到真实服务器上。再次基础上自动化。
二、Jenkins
(1)介绍
Jenkins 是一个功能强大的应用程序,允许持续集成和持续交付项目。免费获取,可以处理任何类型的构建或持续集成。
它可以持续、自动的构建/测试软件项目。且监控软件开发流程、快速问题定位即处理,提高开发效率。
(2)安装
安装配置:内存不少于256M、不低于1G磁盘、JDK版本大于等于8
它有三种安装办法:yum安装、war包安装、docker形式安装。
①、yum安装
1、关闭防火墙(云主机中注意安全组)
注:也可以打开,需要在其中打开Jenkins的访问端口。安全组中同理
2、安装JDK
建议:建议在安装jdk时选用压缩包安装以及jdk8版本。具体原因在之后的配置中有解释。
可以yum安装,也可以压缩包安装,但在yum安装中会出现软连接过多,最终会在全局变量中出现问题。
<1> yum安装
代码集合
[root@jenkins ~]# yum install jdk-1.8.0-openjdk -y
<2>压缩包安装
下载安装包
解压并进行后续操作
jdk安装成功
代码集合
[root@jenkins ~]# wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
[root@jenkins ~]# mkdir -p /usr/java/jdk17
[root@jenkins ~]# tar -zxf jdk-17_linux-x64_bin.tar.gz -C /usr/java/jdk17
[root@jenkins ~]# vim /etc/profile
export JAVA_HOME=/usr/java/jdk17/jdk-17.0.1
export PATH=$PATH:$JAVA_HOME/bin
[root@jenkins ~]# source /etc/profile
[root@jenkins java]# java -version
java version "17.0.1" 2021-10-19 LTS
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)
3、安装Jenkins
添加jenkins源
导入公钥
通过yum安装jenkins
启动:
出现错误:
Oct 28 16:20:52 jenkins jenkins[11559]: Starting Jenkins File "/usr/bin/java" is not executable.
Oct 28 16:20:52 jenkins jenkins[11559]: [FAILED]
Oct 28 16:20:52 jenkins systemd[1]: jenkins.service: control process exited, code=exited status=1
Oct 28 16:20:52 jenkins systemd[1]: F