jenkins使用Jenkinsfile部署springboot+docker项目

文章目录


前言

前面使用Jenkinsfile部署了前端vue项目,接着学习Jenkinsfile部署springboot项目。


一、前期准备

已经安装好centos,并且安装了jenkins和docker。本地新建springboot并上传到gitee上。

二、编辑构建文件

打开本地工程,新增docker文件夹,新增Dockerfile文件

内容如下:

bash 复制代码
# jre基础环境
FROM openjdk:8-jre-alpine

# 维护者信息
MAINTAINER zhy

# 设置环境变量-运行时也可传参进来哈
ENV JAVA_OPTS ""

# 添加jar包到容器中 -- tips: xx.jar 和 Dockerfile 在同一级
ADD *.jar /home/app.jar

# 对外暴漏的端口号
# [注:EXPOSE指令只是声明容器运行时提供的服务端口,给读者看有哪些端口,在运行时只会开启程序自身的端口!!]
EXPOSE 8080

# 以exec格式的CMD指令 -- 可实现优雅停止容器服务
# "sh", "-c" : 可通过exec模式执行shell  =》 获得环境变量
CMD ["sh", "-c", "echo \"****** 运行命令:java -jar ${JAVA_OPTS} /home/app.jar\"   &   java -jar ${JAVA_OPTS} /home/app.jar"]

在根目录新增Jenkinsfile文件

内容如下:

bash 复制代码
pipeline {
    agent any
    environment {
        APP_NAME = 'executor-test'
        APP_IMAGE = 'executor-test'
        APP_PORT = 9999
    }

    stages {

        stage('环境准备') {
            steps {
                sh """
                # maven打包
                mvn clean install -DskipTests
                # 拷贝jar到docker目录下
                cp target/executor-test-0.0.1-SNAPSHOT.jar docker
                """
            }
        }

        stage('构建Docker镜像') {
            steps {
                sh """
                    # 删除旧容器
                    docker ps -a | grep ${APP_NAME} | awk '{print \$1}' | xargs -i docker stop {} | xargs -i docker rm {}
                    # 删除旧镜像
                    docker images | grep ${APP_NAME} | awk '{print \$3}' | xargs -i docker rmi {}
                    # 进入Docker目录
                    cd docker
                    # 构建镜像
                    docker build -f Dockerfile -t ${APP_IMAGE} . --no-cache
                """
            }
        }

        stage('运行容器') {
            steps {
                sh """
                    docker run -d -p ${APP_PORT}:8080 --restart=always --name ${APP_NAME} ${APP_IMAGE}
                """
            }
        }

    }
}

提交代码到gitee上,注意文件中的地址要与你自己项目的一致。

二、Jenkins构建

登录jenkins新建任务

添加描述信息

流水线选择SCM

选择git

粘贴gitee中项目地址,选择凭证,如果没有凭证,点击添加即可。

点击保存,立即构建

可查看控制台日志输出

这里遇到了一个错误,打包的镜像名称不能用大写

修改Jenkinsfile文件

提交代码,接着构建

构建成功,打开浏览器访问接口测试


总结

以上就是今天要讲的内容,本文介绍了jenkins使用Jenkinsfile部署springboot项目。

相关推荐
武子康2 小时前
Java-72 深入浅出 RPC Dubbo 上手 生产者模块详解
java·spring boot·分布式·后端·rpc·dubbo·nio
深圳卢先生5 小时前
CentOS 安装jenkins笔记
笔记·centos·jenkins
AI视觉网奇6 小时前
git 访问 github
运维·开发语言·docker
hweiyu008 小时前
docker简介
运维·docker·容器
hac132210 小时前
Spring Boot 双数据源配置
java·spring boot·后端
凤山老林11 小时前
Spring Boot中的中介者模式:终结对象交互的“蜘蛛网”困境
java·spring boot·后端·设计模式·中介者模式
甘露寺11 小时前
云原生核心技术解析:Docker vs Kubernetes vs Docker Compose
docker·云原生·kubernetes
如果'\'真能转义说12 小时前
Docker Desktop 挂载本地Win系统配置指南:Redis/MySQL/RabbitMQ持久化与自启设置
docker·容器·bootstrap·docker desktop