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

最后生成的文件

相关推荐
AINative软件工程14 分钟前
Tool Schema 写得好,模型少出错:5 个工程师必知的设计原则
后端·openai
AINative软件工程15 分钟前
AI 写的代码,Review 要怎么改?我们团队的 15 条 PR 检查清单
后端·openai
武子康18 分钟前
Java-21 深入浅出 MyBatis 手写ORM框架2 手写Resources、MappedStatment、XMLBuilder等
java·后端
techdashen34 分钟前
在 Fly.io 上使用 Rust 构建远程开发环境:从 Tokio 到 eBPF
开发语言·后端·rust
摇滚侠1 小时前
Spring 零基础入门到进阶 面向切面 AOP 52-60
java·后端·spring
Plastic garden1 小时前
K8s知识(3) Pod亲和性,调度
云原生·容器·kubernetes
雪隐1 小时前
AI股票小助手07-TA-Lib 技术指标计算实战
人工智能·后端
掘金者阿豪2 小时前
一本书读懂微积分!
后端
Cosolar2 小时前
深入理解 LangChain Callback 机制:从入门到实战
人工智能·后端·面试