jenkins入门教程
一、概念
jenkins是一个开源软件项目,是基于java开发的一款持续集成工具;
二、环境部署
centos + jdk1.8 + tomcat8 + jenkis
2.1 部署jdk
#1.oracle官网下载介质(二进制安装包)至/usr/src目录
jdk-8u281-linux-x64.tar.gz
#2.解压安装
mkdir -pv /usr/local/java
cd /usr/src
tar -xzf jdk-8u281-linux-x64.tar.gz
mv jdk1.8.0_281/* /usr/local/java/
#3.配置环境变量
echo -e 'export JAVA_HOME=/usr/local/java\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH' >> /etc/profile
source /etc/profile
#4.检查java环境
java -version
2.2 部署tomcat
#1.下载tomcat8至/usr/src目录
wget -c https://mirror.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.61/bin/apache-tomcat-8.5.61.tar.gz -P /usr/src
#2.解压安装
cd /usr/src
tar -xzf apache-tomcat-8.5.61.tar.gz
mkdir -pv /usr/local/tomcat
mv /usr/src/apache-tomcat-8.5.61/* /usr/local/tomcat/
#3.启动tomcat
sh /usr/local/tomcat/bin/catalina.sh start
验证tomcat服务
2.3 部署jenkins
#下载最新稳定版介质
wget -c https://mirror.tuna.tsinghua.edu.cn/jenkins/war-stable/2.263.3/jenkins.war -P /usr/src
#部署jenkins(2种方式)
- 通过tomcat部署(推荐)
#1.停止tomcat
/usr/local/tomcat/bin/catalina.sh stop
#2.部署jenkins.war
rm -rf /usr/local/tomcat/webapps/*
mkdir /usr/local/tomcat/webapps/ROOT
cp jenkins.war /usr/local/tomcat/webapps/ROOT/
cd /usr/local/tomcat/webapps/ROOT/
jar -xf jenkins.war
rm -rf jenkins.war
#3.启动tomcat
/usr/local/tomcat/bin/catalina.sh start
#4.访问jenkins(http://IP:8080/)
#5.初始密码登录
获取初始密码
cat /root/.jenkins/secrets/initialAdminPassword
#6.自定义配置
#6.1 安装建议插件(安装过程可能比较慢)
#6.2 选择插件安装,选择None
#7.创建管理员账户(admin)
#8.自定义root URL(默认为http://192.168.153.21:8080/)
- 直接java -jar jenkins.war启动
#1.默认java -jar jenkins.war启动,前台运行,通过http://IP:8080/访问
#2.可通过参数实现指定端口、后台运行、指定日志文件;执行java -jar jenkins.war --help
#3.启动jenkins
java -jar jenkins.war --httpPort=8090 --daemon --logfile=/var/log/jenkins.log
#4.浏览器访问
http://IP:8090/
三、jenkins常用功能
3.1 插件安装
上面自定义安装的时候,没有选择安装任何插件
3.1.1 中文插件安装
1.Manage Jenkins -》Manage Plugins
2.Avaliable -》搜索locale -》直接安装
3.Avaliable -》搜索chinese -》直接安装
4.Manage Jenkins -》Configure System
5.Locale -》输入zh_cn-》Apply -》Save
6.完成中文插件
3.1.2 安装maven插件
3.1.3 安装git插件
3.1.4 安装svn插件
3.1.5 安装ssh build agent插件
3.2 项目构建
3.2.1 构建一个*风格的软件项目
1.New 任务
2.输入任务名称 -》选择项目类型 -》确认
3.构建 -》 执行shell -》保存
4.完成任务创建
3.2.2 构建一个maven软件项目
前提:
- 1.已安装好maven插件,
- 2.jenkins服务器安装好maven
#jenkins服务上安装maven
wget -c https://mirror.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz -P /usr/src
cd /usr/src
tar -xzf apache-maven-3.6.3-bin.tar.gz
mkdir -pv /usr/local/maven
mv apache-maven-3.6.3/* /usr/local/maven/
- 3.jenkins ui上配置好maven环境
构建maven项目
1.New 任务
2.配置源码管理模块
3.配置build模块
option参数选项:
clean install -Dmaven.test.skip=true
4.配置Post steps,应用保存
构建成功后通过shell脚本部署war包
结合ansible完成war包部署(前提是jenkins服务器安装配置好ansible;也可以直接通过shell命令或者shell脚本完成部署)
shell明细
#发布
#查看发布列表
ansible web --list-host
#1.备份
ansible web -m shell -a "mkdir -pv /data/backup/shareku/$(date +%F);tar -cPf /data/backup/shareku/$(date +%F)/backup.tar /usr/local/tomcat/webapps/ROOT/"
#2.停服务,删除老版本代码
ansible web -m shell -a "source /etc/profile;sh /usr/local/tomcat/bin/shutdown.sh;rm -rf /usr/local/tomcat/webapps/ROOT/*"
ansible web -m shell -a "sleep 20;ps -ef|grep java"
#3.上传war包
ansible web -m copy -a "src=/root/.jenkins/workspace/www.shareku.com/target/edu.war dest=/usr/local/tomcat/webapps/ROOT"
#4.发布
ansible web -m shell -a "cd /usr/local/tomcat/webapps/ROOT;source /etc/profile;jar -xf edu.war;rm -f edu.war;nohup sh /usr/local/tomcat/bin/startup.sh &"
#5.检查服务
ansible web -m shell -a "sleep 10;ps -ef|grep java"
5.配置完成后开始执行构建
6.构建日志查看
7.可以通过如下配置构建后的操作生成归档文件url,用于脚本中下载部署
查看生成的归档url
3.3 jenkins集群
3.3.1 配置从节点
#1.系统管理 -》节点管理
#2.新建节点 -》节点名称 -》固定节点 -》确定
#3.查看节点日志
当前2个节点
3.3.2限制项目运行节点
给3.2.1章节创建的项目修改配置,限制再从节点(bubble23)上运行
构建运行,查看输出;确实运行在节点bubble23上