本文基于war包形式部署的
需要提前下载Jenkins的war包
Jenkins 的安装和设置下载内容
https://mirrors.jenkins.io/war 版本对应
目录
1.初始化环境
2.安装jdk
安装git
Maven配置
安装Jenkins
使用DockerFile的方式进行部署
1.初始化环境
mkdir -p /home/soft
2.安装jdk
# 通过yum安装的默认路径为:`/usr/lib/jvm`
yum -y install java-1.8.0-openjdk*
#配置晚景
cat>> /etc/profile <<EOF
############################## ↓↓↓↓↓↓ set java environment ↓↓↓↓↓↓ #############################
JAVA_HOME=/usr/lib/jvm/java
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
###############################################################################################
EOF
#配置生效
. /etc/profile
验证:
echo $JAVA_HOME
echo $PATH
java
javac
java -version
jps -lv 查看java进程详细信息
补充:卸载jdk
# 查看CentOS自带JDK是否已安装:
yum list installed | grep java
# 如果存在自带的jdk,删除自带的jdk
yum -y remove java-1.8.0-openjdk*
yum -y remove tzdata-java.noarch
# 通过yum安装的默认路径为:`/usr/lib/jvm`
yum -y install java-1.8.0-openjdk*
安装git
yum install -y git
安装maven
mkdir -p /home/soft/maven
cd /home/soft/maven
#可能没有wget执行需要提前安装一下
sudo yum install wget
# 下载`apache-maven-3.6.3-bin.tar.gz` : http://maven.apache.org/download.cgi
wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
# 解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz
#配置环境变量
vi /etc/profile
cat>> /etc/profile <<EOF
############################## ↓↓↓↓↓↓ set maven environment ↓↓↓↓↓↓ #############################
MAVEN_HOME=/home/soft/maven/apache-maven-3.6.3
PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
export MAVEN_HOME PATH
################################################################################################
EOF
#使配置生效
source /etc/profile
#验证
mvn -v
Maven配置
vim /home/soft/maven/apache-maven-3.6.3/conf/settings.xml
配置本地仓库位置
<localRepository>/home/soft/maven/repository</localRepository>
配置阿里镜像
<mirrors>
<!-- 国内中央仓库的配置-阿里云中央仓库 -->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
安装Jenkins
# 创建目录
mkdir -p /home/soft/jenkins
cd /home/soft/jenkins
# 下载 【 根据自己需要的版本下载 http://mirrors.jenkins.io/war-stable/ 】
wget http://mirrors.jenkins.io/war-stable/2.346.1/jenkins.war
# 这里指定端口10000运行
nohup java -jar jenkins.war --ajp13Port=-1 --httpPort=10000 --prefix=/jenkins > jenkins.log 2>&1 &
其他操作
# 关闭jenkins
http://ip:10000/jenkins/exit
# 重启jenkins
http://ip:10000/jenkins/restart
# 重新加载配置信息
http://ip:10000/jenkins/reload
部署
execute shelldi
# 解决jenkins默认自动终止shell产生的进程问题
BUILD_ID=dontKillMe
mvn clean install -DskipTests
cd target
# 先停掉旧服务
ps -ef | grep jxc-0.0.1-SNAPSHOT.war | grep -v grep | awk '{print "kill -15 "$2}' | sh
# 再运行新服务
nohup java -jar jxc-0.0.1-SNAPSHOT.war > app.log 2>&1 &
点击立即构建
使用DockerFile的方式进行部署
在项目目录在新建docker目录 & 在docker目录下新建Dockerfile
文件
# jre基础环境
FROM openjdk:8-jre-alpine
# 维护者信息
MAINTAINER chenjuyong
# 设置环境变量-运行时也可传参进来耍哈
ENV JAVA_OPTS ""
# 添加jar包到容器中 -- tips: xx.jar 和 Dockerfile 在同一级
ADD *.war /home/jxc.war
# 对外暴漏的端口号
# [注:EXPOSE指令只是声明容器运行时提供的服务端口,给读者看有哪些端口,在运行时只会开启程序自身的端口!!]
EXPOSE 8088
# 以exec格式的CMD指令 -- 可实现优雅停止容器服务
# "sh", "-c" : 可通过exec模式执行shell =》 获得环境变量
CMD ["sh", "-c", "echo \"****** 运行命令:java -jar ${JAVA_OPTS} /home/jxc.war\" & java -jar ${JAVA_OPTS} /home/jxc.war"]
构建使用执行shell
mvn clean install -DskipTests
cp target/jxc-0.0.1-SNAPSHOT.war docker
cd docker
docker build -f Dockerfile -t "springboot:dev" . --no-cache
docker ps -a | grep springboot111 | awk '{print $1}' | xargs -i docker stop {} | xargs -i docker rm {}
docker run -d -p 9999:8088 --name springboot111 springboot:dev