当前位置:   article > 正文

Jenkins+Docker+Gitee+SpringBoot自动化部署_jenkins gitea docker springboot部署

jenkins gitea docker springboot部署

1.在jenkins里面安装插件gitee
在这里插入图片描述

2.在码云中创建一个仓库

jenkinstest
在这里插入图片描述
3.在idea创建springboot项目,项目名称为jenkinstest

pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.wu</groupId>
    <artifactId>jenkinstest</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>jenkinstest</name>
    <description>jenkinstest</description>

    <packaging>jar</packaging>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.3.12.RELEASE</spring-boot.version>
    </properties>



    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.12.RELEASE</version><!--  自己的SpingBoot版本   -->
                <configuration>
                    <!--  自己的启动类地址   -->
                    <mainClass>com.wu.JenkinstestApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>


        </plugins>
    </build>
</project>


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78

controller

package com.wu.controller;

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

@RestController
public class TestController {

    @GetMapping("/test")
    public String get(){
        return "test";
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

配置文件

server:
  port: 5005
```ockerfile

```java

FROM java:8

VOLUME /tmp

ADD jenkinstest-0.0.1-SNAPSHOT.jar jenkinstest.jar
#暴露端口号
EXPOSE ${SERVER_PORT}

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/jenkinstest.jar"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述

4.将代码上传gitee上面

5.在jenkins下载插件ssh,在系统管理-系统配置中配置远程服务器ssh

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
测试通过,保存

5.jenkins拉取
输入名称
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
clean package
在这里插入图片描述

在这里插入图片描述
高级勾选console,可以看到日志
在这里插入图片描述

在这里插入图片描述
脚本

#!/bin/bash
echo "上传远程服务器成功"

cd /docker/images/jenkinstest
mv  target/jenkinstest-0.0.1-SNAPSHOT.jar  /docker/images/jenkinstest
echo "jar包移动到同一个位置"
docker stop jenkinstest || true
echo "容器已经停止"
docker rm jenkinstest || true
echo "容器已经移除"
docker rmi jenkinstest || true
echo "镜像已经移除"
docker build -t  jenkinstest .
echo "镜像已经制作完成"
docker run -d -p 5005:5005  --name jenkinstest  jenkinstest:latest
echo "容器已经启动"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

访问
在这里插入图片描述

技巧:jenkins通过git拉取代码和打包,都在/var/jenkins_home/workspace文件夹下,可以去看打包的文件是否正确,以便于配置远程文件同步

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/824615
推荐阅读
相关标签
  

闽ICP备14008679号