使用脚本把springboot程序部署到k8s上

一般我们部署写4个文件就行了

首先分别写

Dockerfile

java 复制代码
# 基于jdk1.8
FROM openjdk:8-jdk-alpine
RUN echo "Asia/Shanghai" > /etc/timezone
RUN mkdir /app
WORKDIR /app

COPY ./monitor-flink-1.0.jar /app

EXPOSE 8080

CMD ["java","-jar","/app/monitor-flink-1.0.jar"]

springboot打包

java 复制代码
    <build>
        <finalName>monitor-flink-1.0</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.5.14</version>
                <configuration>
                    <mainClass>com.donglin.MonitorApplication</mainClass>
                    <!--                    <skip>true</skip>-->
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

1package.sh

从github上拉下来,打成jar包

java 复制代码
#!/bin/bash
export JAVA_HOME=/data/xxx/jdk/jdk1.8.0_141
export PATH=${JAVA_HOME}:$PATH
cd /data/flink-monitor
rm -rf /data/flink-monitor/monitor-flink

export http_proxy=http://xxx.xxx.xxx.xxx:3128
export https_proxy=https://xxx.xxx.xxx.xxx:3128
git clone https://GitHub上生成的ssh密钥@github.com/lidonglin/flink-monitor.git

cd /data/flink-monitor/monitor-flink
git checkout main

sh /data/xxx/maven/maven-3.6.3/bin/mvn clean
sh /data/xxx/maven/maven-3.6.3/bin/mvn -P dev -Dmaven.test.skip=true package

mv /data/flink-monitor/monitor-flink/target/monitor-flink-1.0.jar /data/flink-monitor/monitor-flink-1.0.jar

2build.sh

java 复制代码
#!/bin/bash
sudo docker build -t flink-monitor:latest

docker_push.sh

将docker镜像推送到k8s

java 复制代码
#!/bin/bash
VERSION=latest

sudo docker login xxxxxx.com --username xxxxxx --password xxxxxx
sudo docker tag flink-monitor:$VERSION xxxx/xxxx/flink-monitor:$VERSION
sudo docker push xxxx/xxx/flink-monitor:$VERSION

export https_proxy=
export http_proxy=
kubectl rollout restart deployment flink-monitor --namespace=app

tips

csharp 复制代码
# 把旧镜像的名字,改成仓库要求的新版名字
docker tag donglin:v1.0 donglin/nginx:v1.0

最后生成的文件

相关推荐
盛者无名6 小时前
Rust语言基础
开发语言·后端·rust
2501_901164416 小时前
我们如何把“配环境一天”缩短到“3秒启动”?
kubernetes
郑州光合科技余经理6 小时前
私有化B2B订货系统实战:核心模块设计与代码实现
java·大数据·开发语言·后端·架构·前端框架·php
五阿哥永琪6 小时前
基于 Spring AOP 的角色权限校验实现指南&&注解类型避坑指南
java·后端·spring
优秀的颜6 小时前
Maven详细配置(完整笔记)
后端
优秀的颜6 小时前
Nginx分布式框架
后端
勿忘初心7206 小时前
Ubuntu 24.04 PostgreSQL + PostGIS 完整安装与配置指南
后端
czlczl200209256 小时前
Quartz基本原理与工程实践
java·spring boot·后端
白衣鸽子6 小时前
Java Stream:Collectors.collectingAndThen() 用法详解
后端
摸鱼的春哥6 小时前
企业自建低代码平台正在扼杀AI编程的生长
前端·javascript·后端