Jenkins+git+docker完成SpringBoot自动化部署

Jenkins+git+docker完成SpringBoot自动化部署

The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.

翻译: 领先的开源自动化服务器Jenkins提供了数百个插件来支持构建,部署和自动化任何项目。

​ 本文章是根据尚硅谷的谷粒学院自动化部署部分课程所编写,因为自己遇到了一些问题,如需详细了解请去b站尚硅谷的谷粒学院观看视频,部署不成功的或者想大致下如何部署的可以借鉴此文章

​ 谷粒学院教程地址: https://www.bilibili.com/video/BV1dQ4y1A75e?p=289

这里服务器需要的环境有

1、docker

2、jenkins

3、jdk1.8

4、maven3.6.3

5、git

1、创建SpringBoot的web工程

​ 作为测试,新建一个controller,并且在applicattion.properties指定端口为8002

package com.huidu.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("hello")
    public String sayHello(){
        return "hello123";
    }
}
server.port=8002

2、编写Dockerfile文件

文件内容:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY ./target/demojenkins.jar demojenkins.jar
EXPOSE 8002
ENTRYPOINT ["java","-jar","/demojenkins.jar", "&"]

将该文件放入项目根路径下,如图

在这里插入图片描述

3、将该项目上传到gitee

​ 在gitee新建一个仓库,将该项目上传该仓库

学过git的人应该的都知道,不清楚的请自行百度或者查看看这篇博客

https://blog.csdn.net/qq_22194659/article/details/82113560

4、进入Jenkins,完成相关配置和插件下载

​ 我使用的是war包的Jenkins,使用java -jar就能运行了,默认端口在8080

​ 附下载链接: https://www.jenkins.io/download/

​ 第一次进入会有一些问题,因为我第一次已经配置过了,所以遇到问题可以去百度

​ 或者跟我一样看这里的教程https://www.bilibili.com/video/BV1dQ4y1A75e?p=289

5、进行全局工具配置

在这里插入图片描述

配置第二项JDK,第三项Git和最后一项Maven(当然,你得在你的服务器下载并配置好相关环境变量)
在这里插入图片描述

配置大概如下:

在这里插入图片描述

6、创建一个任务

6.1、创建一个任务demoJenkins,选择自由风格

在这里插入图片描述

6.2、添加git仓库和密钥

复制创建的仓库地址,并输入凭据(只需要输入gitee的用户名和密码)

在这里插入图片描述

6.3、在增加构建步骤选择执行shell

复制该shell脚本

#!/bin/bash
#maven打包
mvn clean package
echo 'package ok!'
echo 'build start!'
cd ./
service_name="demojenkins"
service_prot=8002
#查看镜像id
IID=$(docker images | grep "o "exist $service_name image,IID=$IID"
    #删除镜像
    docker rmi -f $service_name
    echo "delete $service_name image"
    #构建
    docker build -t $service_name .
    echo "build $service_name image"
else
    echo "no exist $service_name image,build docker"
    #构建
    docker build -t $service_name .
    echo "build $service_name image"
fi
#查看容器id
CID=$(docker ps | grep "$service_name" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
then
    echo "exist $service_name container,CID=$CID"
    #停止
    docker stop $service_name
    #删除容器
    docker rm $service_name
else
    echo "no exist $service_name container"
fi
#启动
docker run -d --name $service_name -p $service_prot:$service_prot $service_name
#查看启动日志
docker logs -f  $service_name

保存即可

6.4、构建任务完成部署

选择立即构建

在这里插入图片描述

构建的过程可以进入该任务,并选择控制台输出可看到日志

在这里插入图片描述

我们可以看到他下载jar包依赖并且启动springboot项目

当看到如下日志信息表示已经启动

在这里插入图片描述

使用docker ps我们可以查看得到该镜像已经在8002端口运行

在这里插入图片描述

接下来我们访问该项目

在这里插入图片描述

部署成功

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值