macos下war包jenkins加docker部署springboot项目

环境
|macos 10.15.7
|jdk 1.8.0_261 64-Bit
|docker 19.0.13
|maven-3.6.3
|Jenkins 2.249.2 LTS

https://www.jenkins.io/download/ 下载war包版本jenkins
https://maven.apache.org/download.cgi 下载maven 并解压
https://www.docker.com/ 安装docker

启动jenkins

  java -jar jenkins.war 

访问 http://localhost:8080

image.png

输入初始密码
image.png

配置admin账号之后选择 推荐插件安装

配置全局maven

image.png

image.png

image.png

image.png

创建任务

点击左侧 新建Item

image.png

image.png

image.png

image.png

如果有报错可以参照这个配置


image.png

image.png

image.png

点击save即可

springboot部分

**首先 Dockerfile编写 放在项目根目录

FROM java:8
ADD api/target/*.jar root.jar
VOLUME /tmp
EXPOSE 8100
ENTRYPOINT ["java","-jar","root.jar"]
image.png

**编写Jenkinsfile
项目根目录 新建 Jenkinsfile 名称的文件 不需要后缀

pipeline {

    agent any
    tools {
       maven 'maven' //这里填刚才全局配置maven时候的写的哪个名称
    }
    stages {
        stage('Build-Package') {
            steps {
                sh 'mvn -B -DskipTests clean package' 
            }
        }

         stage('Build-Docker') {
                    steps {
                        sh ' chmod 777 start.sh'

                        sh './start.sh'
                    }
        }

    }

}

**编写 docker的 shell脚本 我这里命名为 start.sh 也放在项目根目录下


img_output='fuck-deng'        #生成镜像标签
appname='fuck-deng '         #容器名称
port=8100                       #docker暴露端口


# 获得docker容器 id和镜像 id
r_c=`docker ps -a | grep "$appname" | awk '{print $1 }'`
c=`docker ps -a | grep "$appname" | awk '{print $1 }'`
r_img=`docker images | grep "$appname" | awk '{print $3 }'`
# 如果容器正在运行,停止它
if [ "$r_c"x != ""x ]; then
    docker stop "$r_c"
fi
# 删除容器
if [ "$c"x != ""x ]; then
    docker rm "$c"
fi
# 删除镜像
if [ "$r_img"x != ""x ]; then
    docker rmi "$r_img"
fi

# 生成镜像
docker build -t $img_output .
# 日志目录
mkdir -p $PWD/logs
chmod 777 $PWD/logs

# 启动镜像  8100为工程的端口
docker run -d --name $appname -p $port:8100 $img_output

开始构建

image.png
image.png

到这里就结束了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容