1、手动打包

1、打包命令

mvn clean package

2、运行

java -jar xxxx.jar

2、使用jenkins进行自动化打包部署到服务器中

服务器需要以下环境:

1、java

2、maven

3、git

4、docker

5、jenkins

1、项目相关

1、修改pom.xml

<packaging>jar</packaging>
<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

2、在项目更目录下创建文件Dockerfile(注意这是全名,没有后缀)

FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY ./target/你的jar包名字.jar 你的jar包名字.jar
ENTRYPOINT [“java”,“-jar”,“/你的jar包名字.jar”, “&”]

2、配置jenkins

1、Global Tool Configuration

在这里插入图片描述

2、把服务器中的jdk、git、maven都配置

在这里插入图片描述

3、创建item

在这里插入图片描述

在这里插入图片描述

1、构建源码

在这里插入图片描述

1、勾选git

2、添加仓库地址(Repisitory URL)

3、填写git账号密码(Credentials)

2、构建

在这里插入图片描述

1、增加构建步骤选Execute Shell

#!/bin/bash
#maven打包
mvn clean package
echo 'package ok!'
echo 'build start!'
#项目的所在位置infrastructure/eureka_server
cd ./
#项目名字
service_name="demo"
#项目端口号
service_prot=8001
#查看镜像id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
then
    echo "exist $SERVER_NAME image,IID=$IID"
    #删除镜像
    docker rmi -f $service_name
    echo "delete $SERVER_NAME image"
    #构建
    docker build -t $service_name .
    echo "build $SERVER_NAME image"
else
    echo "no exist $SERVER_NAME image,build docker"
    #构建
    docker build -t $service_name .
    echo "build $SERVER_NAME image"
fi
#查看容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
then
    echo "exist $SERVER_NAME container,CID=$CID"
    #停止
    docker stop $service_name
    #删除容器
    docker rm $service_name
else
    echo "no exist $SERVER_NAME container"
fi
#启动
docker run -d --name $service_name --net=host -p $service_prot:$service_prot $service_name
#查看启动日志
#docker logs -f  $service_name

4、Build Now

vice_name --net=host -p s e r v i c e p r o t : service_prot: serviceprot:service_prot $service_name
#查看启动日志
#docker logs -f $service_name


## 4、Build Now
![在这里插入图片描述](https://img-blog.csdnimg.cn/8912fe138cc54d50a2dda04eafaef474.png#pic_center)


Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐