使用脚本把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

最后生成的文件

相关推荐
小陈工几秒前
python Web开发从入门到精通(二十七)微服务架构设计原则深度解析:告别拆分烦恼,掌握治理精髓(下)
后端·python·mysql
程序员清风9 分钟前
独立开发者必看:推荐几个可直接用的开源项目!
java·后端·面试
慕容卡卡28 分钟前
你所不知道的RAG那些事
java·开发语言·人工智能·spring boot·spring cloud
SimonKing29 分钟前
144K Star的开源神器,OpenCode进阶使用全攻略
java·后端·程序员
程途知微31 分钟前
Java线程池运行机制与拒绝策略底层全解析
java·后端
9523632 分钟前
SpringMVC
后端·学习·spring
程序员萌萌32 分钟前
基于 Redis 的分布式锁:原理剖析与 Spring Boot 实战(含看门狗续期)
spring boot·redis·分布式锁·看门狗机制
程序边界32 分钟前
NFS环境下数据库安装报错解析(上篇):一个诡异的"权限门"事件
后端
武子康1 小时前
大数据-272 Spark MLib-Spark MLlib 逻辑回归实战:二分类场景下的原理与代码实现
大数据·后端·spark
我登哥MVP1 小时前
【SpringMVC笔记】 - 8 - 文件上传与下载
java·spring boot·spring·servlet·tomcat·maven