---------Jenkins做测试环境的自动化构建与部署-------------
【Jenkins基础】
【Jenkins准备(linux系统)】
1.下载Jenkins War包:
https://get.jenkins.io/war/2.272/jenkins.war
把war包放在linux文件夹下 在该目录下运行
2.运行Jenkins:
java -jar jenkins.war
网页打开 localhost:8080 or ip:8080
粘贴linux命令窗的Jenkins初始化密码
3.安装左边建议Jenkins插件 Install suggested plugins
4.创建admin用户
5.自定义安装插件 Rebuilder、Safe Restart
6.全局安全配置 分配admin安全矩阵权限 仅不勾选Administrater 可创建自定义用户在分配权限
注:部署在windows上需要先安装tomcat 然后将jenkins.war包放入tomcat的webapps目录下 重启tomcat即可
【应用部署服务器准备】
linux准备(准备新的linux)
1.确定ip:ifconfig
2.确定登录用户名、密码:root/123456
3.远程ssh可连接:查看22端口占用netstat -anp|grep :22 开启sshd:service sshd start/systemctl start sshd
4.关闭防火墙:service iptables stop/systemctl stop firewalld
查看防火墙状态:service iptables status/systemctl status firewalld
安装java
1.yum install java
2.查看java version:java -version
linux安装git
1.yum install git
2.查看git version:git --version
3.初始化:git config --global user.name "hehezu"
git config --global user.email "562819399@qq.com"
4.生成证书:ssh-keygen -t rsa -C "562819399@qq.com" 文件名默认 密码默认 都回车
5.确认证书:cd /root/.ssh 查看 id_rsa私钥 id_rad.pub公钥
连接github
1.GitHub个人中心-settings-SSH and GPG keys 添加key:New SSH key 粘贴公钥保存
2.linux连接git:ssh git@github.com 提示成功You've successfully authenticated
windows安装git参考:
https://blog.youkuaiyun.com/gfl1427097103/article/details/104700384?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161035246016780262518934%252522%25252C%252522scm%252522%25253A%25252220140713.130102334..%252522%25257D&request_id=161035246016780262518934&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-104700384.first_rank_v2_pc_rank_v29&utm_term=win10%E5%AE%89%E8%A3%85git
安装和配置Maven
1.下载:maven.apache.org 复制bin.zip包链接
在linux目录下输入命令:wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip
2.解压安装maven:unzip [maven安装包] ls -l查看安装结果
3.配置环境变量 vi /etc/profile 输入i进入编辑 在文件末尾添加:
export MAVEN_HOME=/root/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH
esc-:wq 保存
4.执行:. /etc/profile
5.验证配置是否正确:mvn -version 返回版本号证明生效
安装和配置Tomcat
1.下载:tomcat.apache.org上复制链接Tomcat9-Binary Distributions-Core-zip包链接
2.在linux目录下输入命令:wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-9/v9.0.41/bin/apache-tomcat-9.0.41.zip
3.解压安装:unzip apache-tomcat-9.0.41.zip 查看ls -l
4.配置tomcat:进入apache-tomcat-9.0.41目录下 chmod a+x -R * (-R
配置端口:vi conf/server.xml
5.运行tomcat:bin/startup.sh 检查ps -ef|grep tomacat
6.网页输入 主机ip:8090 查看到tomcat首页 表明已启动
新建节点
1.在Jenkins控制台点击Manage Nodes and Clouds 配置节点
新建节点
输入名称:testEnv
描述:这是一台测试环境的linux主机
远程工作目录:/root/.jenkins
启动方式:launch agents via SSH
主机:ip地址(192.168.0.134)
添加Credentials:选择 jenkins - 账号名 密码(root 123456)、
选择账号root
host选择 Non verifying Verification Strategy 保存
## 尝试连接
1.节点列表 点击节点名称
2.点击 重启代理
3.返回节点列表 查看已同步
运行验证任务
1.jenkins主页 - 点击[新建Item]
2.输入任务名testTask 选择[Freestyle project]确定
3.General - 选择[限制项目的运行节点]填入[testEnv] 表明只允许这台linux执行任务
4.构建 - 增加构建步骤 - 执行shell 输入shell命令[ifconfig] - 保存
5.单机[立即构建] - 等待构建结束 单机[#1] - 单机[控制台输出]查看ifconfig是否执行成功
【部署应用介绍与前期准备】
Github介绍
1.开源代码管理库 仅支持git
fork应用程序
1.登录github fork应用程序 github主页搜索:princeqjzh/order
2.fork成功后在自己的Repositories下 这样就可以有工程修改权限了
3.打开fork的项目 点击clone or download 按钮 复制克隆SSH格式链接
clone源代码到本地
1.将源代码clone到本地:在需要保存项目的位置 命令行输入:git clone + 项目链接 等待片刻本地就有order工程了
2.用IDEA打开order工程 该工程建立在maven架构上 会有一个pom.xml文件 创建数据库sql文件为order.sql
3.在IDEA中使用maven构建项目 验证是否有源代码错误 在maven中选中clean和install文件 再单击run按钮
4.run后 日志中看到BUILD SUCCESS 则表明构建成功 源代码语法无报错
注:如果IDEA连接好github 可以直接拉取项目:file - new - project from version control - Git - 输入项目SSH URL 和 要存项目的Diretory
创建数据库表
1.先安装MySQL数据库(可安装在另一台服务器)
2.使用Navicat工具连接MySQL数据库,连接成功后选择运行SQL文件,选择order.sql文件导入表数据
3.导入成功后就可在数据库中看到order项目的数据库表
4.执行查询语句验证表数据是否正常
配置项目中数据库参数(以我的参数为例)
1.找到数据库配置文件order/src/main/resources/spring/applicationContext.xml打开它
2.找到数据源:DB连接 更改参数:
YourDBHost => 数据库服务器ip地址(192.168.0.24)
YourDBPort => 数据库端口号 默认3306
YourDBUsername => root
YourDBPassword => 123456
3.验证数据库参数是否正常
在IDEA中运行项目 双击 Maven Project 中的order/plugins/tomacat7:run
切换到浏览器 在地址栏输入localhost:8071查看到项目首页 则证明项目运行成功
在git上Commit更新代码
1.确定当前位置在order项目的根目录
2.git status 检查git状态 查看哪些文件被改动 复制被改动文件目录
3.git add + 文件目录 回车 再次git status
4.git commit -m “update mysql configuration” 回车
Push更新代码到Github
1.git push 回车 推送代码到github上
【Jenkins自动化部署任务开发】
git同步最新代码=》maven打包=》停止Tomcat=》部署应用=》启动tomcat=》访问页面验证结果
编写shell脚本
1.shell脚本已经写好,为order/src/deploy.sh文件
创建jenkins任务
1.新建jenkins任务-自由风格
2.任务填写:
描述:这个任务负责部署order工程到Tomcat中,并启动tomcat
勾择 Restrict where this project can be run 限制项目的运行节点
填入testEnv
源码管理 - Git
Repository URL(复制gitbug上的order工程SSH链接粘贴进去)
Additional Behaviours - Check out to sub-directory 检出到子目录 -仓库的本地子目录 -填入order
构建
增加构建步骤 - Execute shell - 输入shell:
BUILD_ID=DONTKILLME #保证jenkins执行完任务会自动杀掉时不要杀掉server
. /etc/profile
#配置运行参数
export PROJ_PATH=`pwd`
export TOMCAT_APP_PATH=/root/apache-tomcat-9.0.41
sh $PROJ_PATH/order/deploy.sh
保存
3.执行jenkins任务
单机任务的立即构建 - 稍等可看到Build History中看到构建任务
4.确定执行结果成功:查看 控制台输出日志
5.打开浏览器访问部署应用程序:服务器ip:8090
6.确定发布结果正确性