【阿里云系列】-基于云效构建部署Springboot项目到ACK

介绍

为了提高项目迭代的速度加速交付产品给客户,我们通常会选择CICD工具来减少人力投入产生的成本,开源的工具比如有成熟的Jenkins,但是本文讲的是阿里云提高的解决方案云效平台,通过配置流水线的形式实现项目的快速部署到服务器或容器平台中

准备工作

01、编写Dockerfile文件可以根据不同的环境,新建不同的Dockerfile文件,比如Dockerfile-PROD

FROM openjdk:17.0.1-jdk
ENV LANG=C.UTF-8
ENV TZ=Asia/Shanghai
ADD target/test-service.jar   app.jarCMD ["sh","-c","java -Xmx512m -Xms256m -XX:SurvivorRatio=4 -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -jar -XX:InitiatingHeapOccupancyPercent=70 -Xlog:gc:/var/log/java_gc.log -XX:+PrintGCDetails   app.jar --spring.profiles.active=prod"]

02.编写部署ack的yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:name: test-servicenamespace: prod-service labels:app: test-service
spec:replicas: 3selector:matchLabels:app: test-servicetemplate:metadata:labels:app: test-servicespec:containers:- name: test-serviceimage: registry-vpc.cn-shanghai.aliyuncs.com/prod-acr/test-service:${IMAGE-TAG}ports:- containerPort: 8080
#        resources:
#          limits:
#            cpu: "500m"
---
apiVersion: v1
kind: Service
metadata:name: test-servicenamespace: prod-servicelabels:app: test-service
spec:selector:app: test-serviceports:- name: httpprotocol: TCPport: 80targetPort: 8080- name: httpsprotocol: TCPport: 443targetPort: 8080type: NodePort

03.在已有的ACK集群中创建命名空间prod-service
在这里插入图片描述
04.在ACR中新建镜像仓库
在这里插入图片描述

新建流水线

在云效中新建流水线,如下图所示,主要有三个阶段,分别为拉取源代码(即配置代码仓库)、构建、部署
在这里插入图片描述
点击第一个阶段,如下图所示进行编辑代码源及拉取代码默认分支
在这里插入图片描述
点击【Java 构建Docker镜像并推送镜像仓库】进行第二个阶段的编辑
在这里插入图片描述
如上图所示编写构建命令:mvn -U clean package -pl order-service -am -Dmaven.test.skip=true

如下图所编辑镜像推送ACR的步骤
在这里插入图片描述
点击【Kubernetes 发布】进行最后一个阶段部署的操作

在这里插入图片描述
其中选择集群连接时,可以按照下图所示进行操作
在这里插入图片描述
增加变量标签用于上文中提到的拉取镜像的标签,如下图所示
在这里插入图片描述

以上就是所有从代码拉取到构建代码到发布镜像到ACK的过程

验证发布

点击【运行】,运行结果可通过如下图所示的流程图进行详细查看日志
在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/742423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】双向链表及LRU缓存的实现

目录 前言 1. 在原有的自定义链表类 Linked 的基础上,添加新的 “节点添加”方法 addNode(Node node) 测试用例 测试结果 2. 在自定义链表类的基础上,使用双重循环“强力” 判断两个节点是否发生相交 测试用例 测试结果 3. 在自定义链表类的基础上…

基于opencv的手势识别

当然可以,下面是一个使用OpenCV实现简单手势识别,并在摄像头捕捉的视频中描绘出手部轮廓为线条的示例。该代码会读取摄像头流,然后检测出手部,并用线条描绘出手的轮廓。 首先,你需要安装OpenCV库。如果你还没有安装&am…

Vulnhub靶机:Kioptrix_Level1.1

一、介绍 运行环境:Virtualbox 攻击机:kali(192.168.56.101) 靶机:Kioptrix_Level1.1(192.168.56.104) 目标:获取靶机root权限和flag 靶机下载地址:https://www.vul…

C语言例2-3:从键盘输入一个正整数(位数小于或等于10),判断其是否是回文数

回文数是将自然数n的各位数字反向排列得到自然数n1,若n1与n相等,则称为回文数,例如12321 //从键盘输入一个正整数(位数小于或等于10),判断其是否是回文数 //回文数是将自然数n的各位数字反向排列得到自然数…

(BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等

看面试题可以是为了面试,也可以是对自己学到的东西的一种查漏补缺,更加深刻的去了解一些核心知识点 Spring面试高频问题 问题一:谈 需要zi料 绿色徽【vip1024b】 谈你对spring IOC 和 DI 的理解,它们有什么区别? **问题…

Xterminal:未来的终端体验

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 开发环境篇 ✨特色专栏: M…

CTR之行为序列建模用户兴趣:DIEN

前言 在上一篇文章中 CTR之行为序列建模用户兴趣:DIN,开启了用户行为序列建模用户兴趣的篇章。DIN引入了Attention机制,对于不同的候选item,可以根据用户的历史行为序列,动态地学习用户的兴趣表征向量。但是&#xff…

Mybatis-Plus实现Service封装

文章目录 5.1 MP封装Service介绍5.1.1 说明5.1.2 实现流程5.1.3 核心API介绍 5.2 MP封装Service快速入门5.2.1 定义服务扩展接口5.2.2 定义服务实现5.2.3 测试测试 5.3 MP封装Service实现CRUD操作 5.1 MP封装Service介绍 5.1.1 说明 MybatisPlus为了开发更加快捷,…

前端去除网页水印

按F12,打开开发者工具面板,然后直接在样式搜索backgroud 然后直接取消backgroud 的复选框即可。

【Linux】-Linux下的软件商店yum工具介绍(linux和windows互传文件仅仅一个拖拽搞定!!!!)

目录 1.Linux 软件包管理器yum 1.1快速认识yum 1.2 yumz下载方式(如何使用yum进行下载,注意下载一定要是root用户或者白名单用户(可提权)) 1.2.1下载小工具rzsz 1.2.2 rzsz使用 1.2.2查看软件包 1.3软件的卸载 2.yum生…

UE5 局域网联机,寻找会话失败。

目录 参考资料: 尝试解决办法 1.1在【项目名.Build.cs】脚本中添加该行,添加后关闭编辑器,重新生成解决方案。​编辑 2.检查是否在同一个C类子网 参考资料: 1.Cant find session in LAN - Programming & Scripting / Mul…

【C语言】字符串函数上

👑个人主页:啊Q闻 🎇收录专栏:《C语言》 🎉道阻且长,行则将至 前言 这篇博客是字符串函数上篇,主要是关于长度不受限制的字符串函数(strlen,strcpy,strcat,strcm…

“我快无聊死了”用英语怎么说?柯桥英语口语学习,成人零基础学外语

每日一句 Im bored to death. 我快无聊死了。 单词解析: bored / bɔːd / adj.无聊的,厌倦的 bored to d15857575376eath:指非常无聊或厌烦,达到了极点的程度。 "bored" 和 "boring" 都与无聊相关&#…

漏洞发现-漏扫项目篇武装BURP浏览器插件信息收集分析辅助

知识点 1、插件类-武装BurpSuite-漏洞检测&分析辅助 2、插件类-武装谷歌浏览器-信息收集&情报辅助 章节点: 漏洞发现-Web&框架组件&中间件&APP&小程序&系统 扫描项目-综合漏扫&特征漏扫&被动漏扫&联动漏扫 Poc开发-Ymal语…

产品测试方案:视频接入平台并发性能测试方案和报告(即150路视频并发流媒体服务器模块的性能测试方案和报告)

目 录 一、测试目的: 二、测试方案: 2.1、测试思路 2.2、拓扑图 三、测试环境 3.1 服务器配置 3.2 网络摄像机列表 3.3 测试软件 四、测试流程 4.1 H.264并发测试: 4.1.1老版本srsout3.10并发测试 4.1.2 新版本srsout…

【PyTorch][chapter 22][李宏毅深度学习]【无监督学习][ WGAN]【理论二】

前言: 本篇主要参考《Wasserstein GAN and the Kantorovich-Rubinstein Duality》 重点介绍一下 WGAN 的损失函数 是如何通过 Wasserstein Distance 变换过来的。 分为5步: 我们首先建立Wasserstein Distance 极小值形式, 经过对…

王道机试C++第6章 数学问题和22年蓝桥杯省赛选择题Day34

6.1 进制转换 二进制数(十转二) 习题描述 大家都知道,数据在计算机里中存储是以二进制的形式存储的。 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是…

详解Python中open()函数指定文件打开方式的用法

当我们用open()函数去打开文件的时候,有好几种打开的模式。 r->只读 w->只写,文件已存在则清空,不存在则创建。 a->追加,写到文件末尾 b->二进制模式,比如打开图像、音频、word文件。 ->更新(可读可写) 这个带号…

Spring MVC中的REST风格

文章目录 REST风格1 REST简介问题导入1.1 REST介绍1.2 RESTful介绍1.3 注意事项 2 RESTful入门案例问题导入2.1 快速入门2.2 PathVariable介绍2.3 RequestBody、RequestParam、PathVariable区别和应用 3 REST快速开发【重点】3.1 代码中的问题3.2 Rest快速开发 4案例&#xff1…

【node】模块化与包(二)

1、模块化的基本概念 模块化是指解决一个复杂的问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元。 (1)模块化的优点 遵循固定规则,把大文件拆分成对立并相互依赖…