本文基于war包形式部署的
需要提前下载Jenkins的war包
Jenkins 的安装和设置下载内容
https://mirrors.jenkins.io/war 版本对应
目录
1.初始化环境
2.安装jdk
安装git
Maven配置
安装Jenkins
使用DockerFile的方式进行部署
mkdir -p /home/soft
# 通过yum安装的默认路径为:`/usr/lib/jvm`
yum -y install java-1.8.0-openjdk*
#配置晚景
cat>> /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*
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 <
vim /home/soft/maven/apache-maven-3.6.3/conf/settings.xml
配置本地仓库位置
配置阿里镜像
nexus-aliyun
central
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
# 创建目录
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 &
点击立即构建
在项目目录在新建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