Jenkins构建CI_CD
前言: jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控一些定时执行的任务。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。
jenkins通常与版本管理工具(SCM)、构建工具结合使用;常用的版本控制工具有SVN、GIT。jenkins构建工具有Maven、Ant、Gradle。
一,安装jenkins
1,环境搭建(依赖包、git、Java、Maven、Tomcat)
Maven下载地址:https://archive.apache.org/dist/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
#安装依赖
apt update
apt install libcurl4-openssl-dev libexpat1-dev gettext libssl-dev zlib1g-dev gcc libperl-dev git -y
安装Java环境,这里安装的Java11
tar xvzf OpenJDK11U-jdk_x64_linux_hotspot_11.0.22_7.tar.gz -C /usr/local/
cd /usr/local/
mv jdk-11.0.22+7 jdk
#添加Java环境变量
vim /etc/profile.d/java.sh
JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile.d/java.sh
#验证
java -version
openjdk version "11.0.22" 2024-01-16
OpenJDK Runtime Environment Temurin-11.0.22+7 (build 11.0.22+7)
OpenJDK 64-Bit Server VM Temurin-11.0.22+7 (build 11.0.22+7, mixed mode)
安装Maven
tar xvzf apache-maven-3.8.8-bin.tar.gz -C /usr/local/
mv /usr/local/apache-maven-3.8.8/ /usr/local/maven
#添加环境变量
vim /etc/profile.d/maven.sh
M2_HOME=/usr/local/maven
export PATH=$PATH:$M2_HOME/bin
source /etc/profile.d/maven.sh
#验证
mvn -version
Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
Maven home: /usr/local/maven
Java version: 11.0.22, vendor: Eclipse Adoptium, runtime: /usr/local/jdk
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.10.0-23-amd64", arch: "amd64", family: "unix"
安装Tomcat,这里是Tomcat9,不要装10,10不兼容
tar xvzf apache-tomcat-9.0.86.tar.gz -C /usr/local/
mv /usr/local/apache-tomcat-9.0.86/ /usr/local/tomcat
#定义所需环境变量
vim /etc/profile.d/tomcat.sh
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
source /etc/profile.d/tomcat.sh
#启动Tomcat
/usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
#这时候可以访问服务器8080(默认)打开,如果可以看到那只猫,就说明运行正常,否则检查防火墙、安全组等
2,部署Jenkins
Jenkins下载链接:https://get.jenkins.io/war-stable/latest/jenkins.war
这里直接下载的最新版,官方提示2.361.1(2022九月)开始搭配Java11或17使用。
#复制war包到Tomcat/webapps/
cp jenkins.war /usr/local/tomcat/webapps/
#重启Tomcat,使自动解压war包
sudo /usr/local/tomcat/bin/shutdown.sh && sudo /usr/local/tomcat/bin/startup.sh
访问web页面:ip:8080/jenkins 见下图
cat /root/.jenkins/secrets/initialAdminPassword
ff5d21913057443da5ab1c1634a2c668
填入密码下一步安装推荐的插件,然后就是等,漫长的等待~~~~~~~~
后面点保存并完成,确认url地址,然后就安装完成了,登录界面见下图:
二、配置jenkins
1,插件管理
这里需要安装几个插件:
Deploy to container:支持自动化将代码部署到tomcat容器
GitHub Authentication:GitHub相关的插件,>用于Jenkins与GitHub之间的身份验证
GitHub Organization Folder:GitHub相关的插件,允许Jenkins根据GitHub组织中的仓库动态创建和管理Jenkins项目
Maven Integration:jenkins 利用maven编译,打包,所需插件
Publish Over SSH:SSH插件,允许Jenkins通过SSH将文件或目录发布到远程服务器
2,系统管理
上面的提示不用管,先忽略。新增环境变量系统管理——全局工具配置——maven配置
配置jdk目录
3,设置SSH
Jenkins服务端使用ssh-keygen 命令生成密钥对,再使用 ssh-copy-id [接收代码的服务器ip]
ssh-keygen -t rsa -b 4096 -C "jenkins"
... #生成密钥对
ssh-copy-id 20.249.89.213 #拷贝给对端
#测试免密登录
ssh root@20.249.89.213
#复制出密钥
cat .ssh/id_rsa
系统管理——系统配置——配置ssh
4,构建任务
Jenkins+Maven+Github+Tomcat自动化构建打包部署
回到工作台——新建任务——构建一个maven项目
build 构建后操作
保存——立即构建
第一次构建会下载一些Maven支持,会比较慢(看网速),构建时可以实时查看控制台输出第一次失败了,脚本位置搞错了,第二次才成功
也可以在业务端查看脚本执行的结果来验证(比如在特定位置创建一个文件夹,cp一个文件什么的)
····
评论
发表评论