参考文章
https://www.cnblogs.com/lianstyle/p/8778244.html
https://www.cnblogs.com/fangts/p/11095316.html
https://www.cnblogs.com/zuidongfeng/p/10054831.html
https://blog.csdn.net/u012280292/article/details/90241596
https://blog.csdn.net/qq_38464466/article/details/100192977
https://blog.csdn.net/hc_ttxs/article/details/79385249
一、步骤,环境centos7 ,tomcat8
1、安装jdk1.8
2、安装git
3、安装maven
4、安装Jenkins
5、基于外部tomcat部署
6、基于springboot内嵌tomcat部署
7、项目多环境配置
8、项目多分支部署
二、jdk安装
第一步:下载 jdk 下载网址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
第二步:解压 本人把安装包放在了在/home目录下,
命令 tar -zxvf jdk-8u131-linux-x64.tar.gz
解压后移到/usr/local/java目录
mv jdk-8u131-linux-x64 /usr/local/java
第三步:修改/etc/profile
命令: vim /etc/profile
在文件末尾追加如下内容:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
第四步:使配置生效
source /etc/profile
第五步:查看java版本
java -version
三、maven安装
第一步 下载
maven https://maven.apache.org/download.cgi
第二步 将maven解压,并放到/usr/local/maven目录
tar -zxvf xxx mv xxx /usr/local/maven
第三步 配置环境变量
vi /etc/profile
将下面这两行代码拷贝到文件末尾并保存
MAVEN_HOME=/usr/local/maven
export PATH=${MAVEN_HOME}/bin:${PATH}
重载环境变量
source /etc/profile
查看结果
mvn –v
四、git安装
第一步 下载对应版本
https://github.com/git/git/releases
第二步 安装依赖命令
yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
zlib是个压缩工具。 OpenSSL是一个开放源代码的软件库包。 cpio是用来建立、还原备份档的工具程序,它可以加入、解开cpio或tar备份档内的文件。 Expat是一个用C语言开发的、用来解析XML文档的开发库,它最初是开源的、Mozilla 项目下的一个XML解析器。 curl是一个利用URL语法在命令行下工作的文件传输工具。 (yum后面加入 -y 意思是默认帮我们确认安装,不用跟以前一样中间输入 y 才可以继续安装)
第三步 解压git
解压命令
tar -zxvf v2.19.1.tar.gz
移到
usr/local/git mv v2.19.1 /usr/local/git
第四步 编译
首先进入安装好的git文件夹中,在命令行中输入
make prefix=/usr/local all
如果报/bin/sh: cc:command not found,安装gcc sudo yum install gcc 然后继续执行make
第五步 执行安装命令
make prefix=/usr/local install
查看结果
git --version
五、tomcat安装
第一步 下载tomcat
https://tomcat.apache.org/download-80.cgi
第二步 解压
tar -zxvf apache-tomcat-8.0.51.tar.gz
移动到: mv apache-tomcat-8.0.51 /opt/data/tomcat/
第三步 配置端口
vi /home/tomcat/apache-tomcat-8.5.16/conf/server.xml
第四步 启动tomcat 进入tomcat安装目录bin,
命令启动: ./startup.sh
第五步 访问tomcat
http://ip:8080
如果访问失败,简称防火墙是否开启8080端口外部访问权限,百度firewall-cmd命令
六、jenkins安装
第一步 下载Jenkins
https://jenkins.io/download/
第二步 安装
命令 rpm -ivh jenkins-2.73.3-1.1.noarch.rpm
第三步 配置
查看配置: vi /etc/sysconfig/jenkins
修改端口 JENKINS_PORT="8080"
第四步 jdk建立软链接 ln -s /usr/local/java/bin/java /usr/bin/java
第五步 启动 service jenkins start
七、熟悉Jenkins
1.系统配置文件
cat /etc/sysconfig/jenkins | more
可以获得几个重要配置项目信息
JENKINS_HOME="/var/lib/jenkins",存放jenkins 配置及工作文件
JENKINS_PORT="8080",jenkins默认8080端口
2.配置文件夹 ls /var/lib/jenkins 有jobs、logs、plugins等文件夹及文件若干。当某个插件未安装成功时,会有一个以.tmp结尾的文件
3.日志 logs相关两个位置: /var/lib/jenkins/logs有logs日志 /var/log/jenkins/jenkins.log,记录了插件安装等日志,失败信息原因等很清晰,重要
八、启动Jenkins 第一步 访问Jenkins 访问http://ip:8080/,出现如下画面
输入命令
把密码粘贴到输入框中
第二步 安装插件
输入密码后进入新手入门页面,点击推荐安装。若安装失败,点击重试。
第三步 创建用户
第四步 配置实例
九、Jenkins部署外部容器
第一步 访问Jenkins
第二步 全局工具配置
点击系统管理 ---> 全局工具配置 配置maven
如果不知道maven地址,
可以输入命令: mvn --version
配置jdk
如果不知道JAVA_HOME路径,可以输入命令: echo $JAVA_HOME
配置git
此处配置的是git的命令程序,如果你将git配置到了环境变量则直接可以写git,否则还是填写git命令路径
查看Git命令程序路径: whereis git
配置maven
第三步 新建任务 进入首页,选择新建任务
选择构建一个maven项目
如果没有找到此选项,进入系统配置,找到插件管理,点击可选插件,搜索Maven Integration plugin或者 Pipeline Maven Integration Plugin,然后安装。
由于我已经安装过了,所以列表中不显示,然后再次点击新建任务,选择构建maven项目,进入后配置项目信息。
配置源码管理
我这里采用git,点击添加,可以添加账号。 继续向下滑动,配置bulid
Goals and options,此处填写打包命令,clean package -Dmaven.test.skip=true,意思是跳过test,重新拉取代码便于打包。
继续向下滑动,配置构建后操作如下图:
WAR/EAR files : jenkins 打包后的war,默认在/var/lib/jenkins/workspace目录下面。 注意:此处配置应按照ant风格:**/target/xxx.war Context path : 配置访问项目路径 Containers : 此处需要配置tomcat账号,在tomcat目录下文件conf/tomcat-users.xml,配置账号信息,如图
返回首页,点击立即构建
可以点击编号查看部署日志,如下:
第四步 多环境配置
如上图,只需要在命令后面,加上-Pxxx; xxx代表不同环境目录,同时在项目中增加maven profile配置。
第五步 多分支配置
如上图,配置好参数后,在源码管理中,配置'Branches to build'
最终效果,如下图
十、Jenkins部署jar,以springboot内嵌tomcat运行
第一步 配置插件 进入系统管理,选择插件管理,点击可选插件,搜索Publish over SSH, 点击直接安装
第二步 系统配置 进入系统管理,选择系统配置,找到Publish over SSH,配置远程服务器信息,本人使用的是账号密码连接远程服务器。
如上图, hostname :配置远程服务器地址 username : 远程服务器账号 Remote Directory :配置jar存放地址
配置好之后,点击右下角Test Configuration按钮,提示‘Success'后表示配置成功
如上图,
SSH Server Name:上述步骤配置好的
ssh Source files : 拷贝到运程机上的文件。相对workspace的路径,也支持表达式,如上图中的“**/*.war”。 Remove prefix :文件复制时要过滤的文件夹,如上图中的target文件夹。
Remote directory :文件得到到远程机上的文件夹,此文件夹是相对于“SSH Server”中的“Remote directory”的。假设不存在将会自己主动创建
Exec command :应用部署脚本,本人使用的是shell命令,在/opt/data/目录下新建build.sh,内容如下
#rt BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。
export BUILD_ID=dontKillMe
source /etc/profile
pid_path=/PID
function findJar() {
#遍历文件夹获取jar
for file in `find * -name "${1}"`
do
#Jenkins中编译好的jar名称
jar_name=${file##*/}
#获取运行编译好的进程ID,便于我们在重新部署项目的时候先杀掉以前的进程
pid=$(cat ${pid_path}/${jar_name}.pid)
#杀掉以前可能启动的项目进程
kill -9 ${pid}
#启动jar,后台启动
#BUILD_ID=dontKillMe
BUILD_ID=dontKillMe nohup java -Xmx512m -Xms512m -Xmn200m -jar ${file} > ${jar_name%-*.*.*-SNAPSHOT.jar}.out 2>&1 &
echo $! > ${pid_path}/${jar_name}.pid
done
}
#如果PID目录不存在,则创建
if [ ! -d "${pid_path}" ]; then
mkdir ${pid_path} fi if [ $# -gt 0 ] ;then
for regx in $*
do
findJar $regx
done else
findJar "*.jar" fi
将上述内容复制到build.sh中,在Exec command输入执行命令,bash build.sh xxx.jar。 返回任务列表,选择项目点击立即构建,发布成功。