准备工作:安装git,maven,jdk
一、jenkins
1.安装jenkins wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.263.2/jenkins.war
2.启动jenkins,并指定端口 java -jar jenkins.war --httpPort=8899
3.登录jenkins,默认管理员密码 执行命令获取 /root/.jenkins/secrets/initialAdminPassword
4.jenkins 安装git相关插件
5.配置maven的安装路径
6.配置jdk
7.配置git 、maven
8.创建任务
9.配置源码管理,如果连接不上,需要配置Credentials
10.配置构建脚本,maven使用spring boot打包插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
mvn clean package
11.配置shell启动脚本
#操作/项目路径(Dockerfile存放的路劲)
BASE_PATH=/opt/java/jar/order
#docker 镜像/容器名字或者jar名字 这里都命名为这个
SERVER_NAME=order
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#镜像id
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
#主机端口号
HOST_PORT=9003
#容器端口号
C_PORT=9003
#时间
DATE=`date +%Y%m%d%H%M`
function build(){
#判断镜像是否存在
if [ -n "$IID" ]; then
echo "存在$SERVER_NAME镜像,IID=$IID,删除镜像"
docker rmi $IID
cd $BASE_PATH
docker build -t $SERVER_NAME .
echo "$SERVER_NAME镜像重新构建完成"
docker images
else
echo "不存在$SERVER_NAME镜像,开始构建镜像"
cd $BASE_PATH
docker build -t $SERVER_NAME .
echo "$SERVER_NAME镜像构建完成"
docker images
fi
}
function run(){
echo "开始时间>>>>>>$DATE"
#判断容器是否存在
if [ -n "$CID" ]; then
echo "存在$SERVER_NAME容器,CD=$CID,停止运行并删除"
docker stop $CID
docker rm $CID
echo "$SERVER_NAME容器已经停止运行并删除"
build
echo "开始重新运行$SERVER_NAME镜像"
docker run -p $HOST_PORT:$C_PORT --name $SERVER_NAME -d $SERVER_NAME
echo "$SERVER_NAME已经重新运行"
docker ps
echo "结束时间>>>>>>$DATE"
else
echo "不存在$SERVER_NAME容器,判断是否存在$SERVER_NAME镜像"
build
echo "开始运行$SERVER_NAME镜像"
docker run -p $HOST_PORT:$C_PORT --name $SERVER_NAME -d $SERVER_NAME
echo "$SERVER_NAME已经运行"
docker ps
echo "结束时间>>>>>>$DATE"
fi
}
function initFile(){
#创建文件夹
rm -rf $BASE_PATH
mkdir $BASE_PATH
#创建Doctorfile文件
echo "
FROM java:8
VOLUME /tmp
ADD order-1.0.0-SNAPSHOT.jar app.jar
EXPOSE 8081
ENTRYPOINT [\"java\",\"-jar\",\"/app.jar\"]
" >$BASE_PATH/Dockerfile
echo "$BASE_PATH/Dockerfile 创建成功"
#复制文件
cp /root/.jenkins/workspace/example-order/target/order-1.0.0-SNAPSHOT.jar /opt/java/jar/order
}
#初始化文件
initFile
#运行
run
二、安装docker
1.查看是否安装docker yum list installed | grep docker
2.安装docker yum -y install docker
3.启动docker systemctl start docker
4.创建DockerFile文件和jar包在同一目录
FROM java:8
VOLUME /tmp
ADD order-1.0.0-SNAPSHOT.jar app.jar
EXPOSE 8081
ENTRYPOINT ["java","-jar","/app.jar"]