Jenkins
1. Jenkins简介
Jenkins是一个开源的自动化工具,用于实现持续集成和持续交付(CI/CD)。它提供了一个可扩展的平台,用于自动化构建、测试和部署软件项目。
Jenkins的主要目标是减少开发人员在软件开发过程中的重複性任务,同时提高软件交付的速度和质量。它通过自动化各种任务,如代码构建、测试、部署和报告生成,帮助团队更快地交付高质量的软件。
Jenkins的特点包括:
- 持续集成:Jenkins可以从版本控制系统(如Git、Subversion等)中检测代码的更改,自动触发构建过程,并执行测试和代码分析。
- 可扩展性:Jenkins提供了丰富的插件生态系统,用户可以通过安装插件扩展其功能,以满足特定的需求。
平台支持:Jenkins可以运行在各种操作系统上,包括Windows、Linux和Mac OS等。 - 可配置:Jenkins提供了灵活的配置选项,用户可以自定义构建过程、测试环境和部署流程,以适应各种项目需求。
- 可视化界面:Jenkins提供了直观易用的网页界面,用户可以通过浏览器轻松操作和监控构建的
CI/CD(Continuous Integration/Continuous Delivery)是一种软件开发和交付流程的概念。它包括持续集成和持续交付两个主要方面。
持续集成(Continuous Integration):
- 开发人员将其代码频繁地合并到共享存储库中,如版本控制系统。
- 自动化构建系统会将新的代码变更与现有的代码集成在一起,并在每次提交时进行构建。
- 自动运行测试套件,以确保新的变更未引入错误和破坏现有的功能。
- 提供快速反馈和早期错误检测,并促使团队更快地解决问题。
持续交付(Continuous Delivery):
- 在持续集成的基础上,软件以可部署的状态保持在每个阶段。
- 自动化的部署流程使得软件能够随时进行部署到生产环境中。
- 进行自动化测试和验证,以确保应用程序的品质和可靠性。
- 降低人为错误,提高交付速度,使新功能和修复迅速交付给用户。
2. Jenkins部署
主机名 | ip | Tomcat版本 | 系统版本 |
---|---|---|---|
kiwi123 | 192.168.234.123 | apache-tomcat-9.0.80 | CentOS8-1 |
## 安装jdk17环境
[root@kiwi123 ~]# yum install -y java-17-openjdk-devel java-17-openjdk
## 获取Jenkins WAR包
[root@kiwi123 ~]# wget https://get.jenkins.io/war-stable/2.414.2/jenkins.war
## 选择系统Java版本
[root@kiwi123 ~]# alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
* 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-3.el8.x86_64/jre/bin/java)
+ 2 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.6.0.9-0.3.ea.el8.x86_64/bin/java)
Enter to keep the current selection[+], or type selection number: 2
## 运行war包
[root@kiwi123 ~]# java -jar jenkins.war
## 将运行后的war包复制到webapps下
[root@kiwi123 ~]# cp jenkins.war /usr/local/tomcat/webapps/
## 重启服务
[root@kiwi123 ~]# /usr/local/tomcat/bin/catalina.sh stop
[root@kiwi123 ~]# /usr/local/tomcat/bin/catalina.sh start
## 它会自动解压
[root@kiwi123 webapps]# cd /usr/local/tomcat/webapps/
[root@kiwi123 webapps]# ls
docs examples host-manager jenkins jenkins.war kiwi manager ROOT
再去web端访问
## 密码
[root@kiwi123 ~]# cat /root/.jenkins/secrets/initialAdminPassword
b1b04b17c61243d6bfe04d07cf80f547
[root@kiwi123 ~]#
安装完毕
中间步骤省略
看见这个就表示安装成功
安装完毕
3. Jenkins部署流水线
## 先安装git与mvn命令
[root@kiwi123 ~]# yum install -y git
[root@kiwi123 ~]# yum install -y maven
在web端创建流水线
在这里添加一个流水线脚本
这样就是流水线构建成功
## 可以看见已经有这个文件,表示刚刚的流水线脚本执行成功
[root@kiwi123 ~]# ls /usr/local/tomcat/webapps/
docs jenkins ly-simple-tomcat-0.0.1-SNAPSHOT ROOT
examples jenkins.war ly-simple-tomcat-0.0.1-SNAPSHOT.war
host-manager kiwi manager
## 注:如果java1.8与jdk17有冲突可以改Java版本
[root@kiwi123 ~]# alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
* 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-3.el8.x86_64/jre/bin/java)
+ 2 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.6.0.9-0.3.ea.el8.x86_64/bin/java)
Enter to keep the current selection[+], or type selection number: 2
## 选择Java17