使用Jenkins持续集成来自动部署,提高效率,减少手动操作的时间
一、Jenkins的基础知识
1.1、Jenkins下载 及安装
启动Jenkins
命令行输入 $java -jar jenkins.war 启动Jenkins
浏览器输入:localhost:8080
从当前页面复制密码,用命令行中vim 打开查看,将查看到的一串数字复制到浏览器的窗口中,continue。
安装成功
1.2、插件安装
进入Jenkins页面,选择系统管理—插件管理,选择两个常用的插件进行安装
rebuilder (用于重新构建)
safe restart (用于安全重启)
1.3、全局配置
进入Jenkins页面,选择系统管理—>configure global security 安全矩阵设置管理员权限
进入系统管理—>用户管理—>新建用户
二【应用部署服务器】
我们准备Linux服务器,在服务器上安装Java、 Git、 Maven 、 Tomcat ,将服务器注册到Jenkins上并验证
2.1服务器准备
1、 确定IP地址
$ifconfig
2、设定用户
使用root用户
3、确定SSH连接
通过$netstat -anp|grep:22 查看是否启动
如果没有启动,可使用命令$service sshd start启动
4、确定防火墙处于关闭状态
检查防火墙状态$service iptables status
关闭防火墙$service iptables stop
2.2安装java环境
$yum install java
验证Java环境安装
$java -version
2.3安装并配置Git
保证Linux服务器与GitHub之间可连通
$yum install git
$git version
Git 初始化并生成授权证书
$git config —global user.name “xao1”
$git config —global user.email “xao1@xiaohongshu.com”
生成授权证书:
$ssh-keygen -t rsa -C “xao1@xiaohongshu.com”
设置密码确认
确认证书
$cd ~/.ssh/
$ls
id_rsa id_rsa.pub--公钥文件
进入GitHub主页—settings--SSHkeys--Add new
$cd ~/.ssh/
$vim id_rsa.pub
将公钥copy到GitHub的SSH keys中add ssh key
验证git配置知否正确,用以下命令
$ssh git@github.com
2.4 Maven 下载安装
Maven.apache.org—>download—>apache-maven-3.5.3.bin.zip 复制链接地址
$cd /root
$wget 地址
解压
$unzip apache-maven-3.5.3.bin.zip
Maven 参数配置和验证
$cd apache-maven-3.5.3/
$pwd
$vim /etc/profile/ 在文件的末尾加入:
export MAVEN_HOME = /root/apache-maven-3.5.3 (pwd的文件目录)
export PATH=$MAVEN_HOME/bin:$PATH
$wq 保存
$. /etc/profile 加载系统配置
$mvn -version 检查maven安装和配置
2.5Tomcat 下载安装
tomcat.apache.org— >download—>tomcat9.0—>Binary Distributions(安装包的可执行程序)—>zin复制链接地址
$ cd /root
$wget 地址
解压
$unzip apache-tomcat-9.0.8.zip
$ls -l 查看解压后的文件
配置Tomcat
$cd apache-tomcat-9.0.8/
$chmod a+x -R * 给Tomcat下的所有文件赋予可执行权限
$ vim conf/server.xml 找到端口地址,将默认的8080修改为8090,避免端口冲突
$wq
$# bin/startup.sh 启动Tomcat
$ps -ef|grep tomcat
进入浏览器:192.168.100.133:8090(服务器ip)验证Tomcat启动
三、将Linux注册到Jenkins中
3.1、新建节点
进入Jenkins—系统管理—管理节点—新建节点—输入节点名称,比如TestENV,勾选Permanent Agent
3.2、配置IP
3.3、add 用户
输入root,密码保存
3.4、尝试连接
启动从节点验证Linux服务器已经成功注册到Jenkins上
回到Jenkins上,点击刚刚创建的节点TestENV,点击launch agent 是否能成功连接
3.5、运行验证任务
新建job验证Jenkins任务可以远程运行在Linux服务上
回到Jenkins主页,点击创建一个新任务 比如testask,选择构建自由风格软件项目
在General中勾选Restrict where this project can be run 在Label Expression中选择刚刚创建的TestENV(表示我们的job只在TestENV配置的服务器上运行)
在构建中添加构建步骤,选择Execute shell 此处简单验证在command中输入测试命令验证,比如:ifconfig 保存
验证任务,点击立即构建,查看Console Output 可以看到Linux中的执行日志
四、GitHub介绍
4.1、Fork部署应用
测试的应用包含: spring 框架的WEB应用程序 + MySQL数据库
搜索测试程序princeqjzh 点击fork 到自己的GitHub中
use SSH Clone
$cd code
$git clone github 地址
使用Intelli IDEA 打开项目验证maven构建
4.2数据库建表
打开MySQL客户端工具,倒入源代码中的.sql文件,执行sq语句导入数据库
修改应用数据库配置参数,更新应用中的MySQL服务器host地址、端口、用户名、密码(更新为你本地的数据库配置)
验证数据库配置
4.3、Git commit 相关
$pwd
$git status
$git add filename
$git commit -m “update”
$git push
五、Jenkins部署
部署以下过程
Git上同步最新代码—>maven打包—>停止Tomcat—>部署应用—>启动Tomcat —>验证结果
5.1查看deploy.sh代码
5.2创建Jenkins任务
填写sever信息 配置Git参数 填写构建语句实际部署测试环境
进入Jenkins 新建一个自由风格的job 比如 name为Deploy 选择刚刚创建的TestENV
源码管理选择Git
构建中选择Execute shell
command中输入:
BUILD_ID=DONTKILLME jenkins 执行完之后进程不要被杀掉
. /etc/profile 加载配置参数
#配置运行参数
export PROJ_PATH =`pwd` (这里的单引号是键盘左上角波浪线的那个单引符号)
export TOMCAT_APP_PATH =/root/apache-tomcat-9.0.8
sh $PROJ_PATH /order/deply.sh