介绍
什么是jenkins
-
Jenkins 是一个用 Java 编写的开源自动化工具,带有用于持续集成的插件。Jenkins 用于持续构建和测试软件项目,从而使开发人员更容易将更改集成到项目中,并使用户更容易获得新的构建。它还允许您通过与大量测试和部署技术集成来持续交付软件。可以说 Jenkins 比较灵活插件资源丰富 ,日常运维工作都可以自动化
-
借助 Jenkins,组织可以通过自动化来加速软件开发过程。Jenkins 集成了各种开发生命周期过程,包括构建、文档、测试、打包、模拟、部署、静态分析等等。
-
Jenkins 借助插件实现了持续集成。插件允许集成各种 DevOps 阶段。如果要集成特定工具,则需要安装该工具的插件。例如 Git、Maven 2 项目、Amazon EC2、HTML 发布者等。
什么是持续集成
持续集成是一种开发实践,在这种实践中,要求开发人员每天多次或更频繁地对共享存储库中的源代码提交更改。然后构建存储库中进行的每个提交。这使团队可以及早发现问题。除此之外,根据持续集成工具的不同,还有其他一些功能,例如在测试服务器上部署构建应用程序,为相关团队提供构建和测试结果等。
前期准备
JDK
Jenkins用 java 语言开发 , 需要安装 JDK
#下载安装包
wget https://download.oracle.com/java/17/archive/jdk-17.0.1_linux-x64_bin.tar.gz
#解压
tar -zxvf jdk-17.0.1_linux-x64_bin.tar.gz -C /usr/local
#配置jdk环境
vim /etc/profile
#添加三条语句在最前面
export JAVA_HOME=/usr/local/jdk-17.0.1
export CLASSPATH=.:$JAVA_HOME/lib/
export PATH=.:$JAVA_HOME/bin:$PATH
#重新加载配置文件
source /etc/profile
#查看jdk
java -version
Maven
#下载安装包
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
#解压
tar -zxvf apache-maven-3.8.8-bin.tar.gz -C /usr/local
#配置环境
vim /etc/profile
#添加两条语句
export MAVEN_HOME=/usr/local/apache-maven-3.8.8
export PATH=${MAVEN_HOME}/bin:${PATH}
#重新加载配置文件
source /etc/profile
#新建仓库目录
mkdir /usr/local/repositories
#配置本地仓库
vim /usr/local/apache-maven-3.8.8/conf/settings.xml
#在第55行添加
<localRepository>/usr/local/repositories</localRepository>
#在第160行添加
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
#查看版本
mvn -v
安装部署
- 下载jenkins
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
- 进入下载目录并在目录下执行
java -jar jenkins.war --httpPort=8080
- 打开浏览器输入ip地址:8080
- 查看管理员密码并输入
- 选择建议安装的插件
- 创建第一个管理员用户
Jenkins部署成功
构建srping boot项目
使用jenkins从git上拉取代码,再通过shell脚本自动化部署
- 配置jenkins中jdk
- 配置jenkins中的maven
- 创建maven架构项目
- 设置git源码,url为https://gitee.com/chuntiany/spring-boot.git
- 构建设置goals and options
构建jar包,并跳过测试
- 构建后操作新建shell
-
shell命令
cd /root/.jenkins/workspace/spring\ boot chmod 777 ry.sh ./ry.sh start
-
ry.sh脚本文件
#!/bin/bash
# 控制只能输入一个参数{start}
if [ $# -ne 1 ]
then
echo "Usage: $0 {start}"
exit 1
fi
if [ "$1" = "start" ]
then
cd /root/.jenkins/workspace/spring\ boot/ruoyi-admin/target && java -jar ruoyi-admin.jar
sleep 2
if [ `netstat -nlpt | grep 80 |wc -l` -eq 1 ]
then
echo "ry is running!!"
fi
fi
- 保存之后立即构建
- 查看构建控制台
- 访问ip地址+80端口