【阿里云系列】-基于云效构建部署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.rhkb.cn/news/275163.html

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

相关文章

c++0305习题

一、求下面表达式的值 1.0 2.-1 3.1 4.(1)1 (2)3.2 (3)0 (4)7.0 5.(1)0(2)300.005&a…

Codeforces Round 933 (Div. 3) A~D

比赛链接 : codeforces.com/contest/1941 A . Rudolf and the Ticket 直接暴力即可 ; #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \n #define lowbit(x) (x&(-x)) #define sz(a) (int)a.size() #define p…

蓝桥杯之【01背包模版】牛客例题展示

牛客链接 #include <bits/stdc.h> using namespace std; int n,V; const int N1010; int v[N],w[N]; int dp[N][N]; int main() {cin>>n>>V;for(int i1;i<n;i){cin>>v[i]>>w[i];}for(int i1;i<n;i){for(int j1;j<V;j){dp[i][j]dp[i-1][…

30天学会QT(进阶)--------------第二天(创建项目)

1、如何规范的创建一个项目 由于本人也是从其他的项目上学来的&#xff0c;所以也不算是业界规范&#xff0c;每个公司或者个人都有自己的方式去创建项目&#xff0c;项目的创建是本着简洁&#xff0c;明了&#xff0c;方便而言的&#xff0c;所以对于我来说&#xff0c;不繁琐…

力扣大厂热门面试算法题 21-23

21. 合并两个有序链表&#xff0c;22. 括号生成&#xff0c;23. 合并 K 个升序链表&#xff0c;每题做详细思路梳理&#xff0c;配套Python&Java双语代码&#xff0c; 2024.03.13 可通过leetcode所有测试用例。 目录 21. 合并两个有序链表 解题思路 完整代码 Java Py…

linuxOPS基础_vmware虚拟机安装及介绍

虚拟机概念 什么是虚拟机&#xff1f; 虚拟机&#xff0c;有些时候想模拟出一个真实的电脑环境&#xff0c;碍于使用真机安装代价太大&#xff0c;因此而诞生的一款可以模拟操作系统运行的软件。 虚拟机目前有2 个比较有名的产品&#xff1a;vmware 出品的vmware workstatio…

java-双列集合

什么是双列集合&#xff1f; 集合中每次存的数据是成对存入的 以及它的特点是什么&#xff1f; 特别注意&#xff1a;键不可重复&#xff0c;值可以 Map是双列集合的顶层接口 Map 它有哪些方法呢&#xff1f; Map的常用API 添加 添加操作的代码如下 我们要明白一些细节&…

11. 搭建较通用的GoWeb开发脚手架

文章目录 导言一、加载配置二、初始化日志三、初始化MySQL连接四、初始化Redis连接五、初始化gin框架内置的校验器使用的翻译器六、注册路由七、 启动服务八、测试运行九&#xff1a;注意事项 代码地址&#xff1a;https://gitee.com/lymgoforIT/bluebell 导言 有了前述知识的…

【JavaScript】数据类型转换 ① ( 隐式转换 和 显式转换 | 常用的 数据类型转换 | 转为 字符串类型 方法 )

文章目录 一、 JavaScript 数据类型转换1、数据类型转换2、隐式转换 和 显式转换3、常用的 数据类型转换4、转为 字符串类型 方法 一、 JavaScript 数据类型转换 1、数据类型转换 在 网页端 使用 HTML 表单 和 浏览器输入框 prompt 函数 , 接收的数据 是 字符串类型 变量 , 该…

linux服务器域名解析失败解决

问题 帮实验室师妹解决安装compressai时&#xff0c;域名解析出错 直接ping百度的域名报错域名暂时无法解析 解决方法 这个问题可能是dns域名解析出错&#xff0c;无法访问外网 首先访问resolv.conf文件 sudo vim /etc/resolv.conf然后在最后加上两行 nameserver 114.114…

WPS 云文档保存在本地的地址如何从c盘更改为其他盘?

程序代码园发文地址&#xff1a;WPS 云文档保存在本地的地址如何从c盘更改为其他盘&#xff1f;-程序代码园小说,Java,HTML,Java小工具,程序代码园,http://www.byqws.com/ ,WPS 云文档保存在本地的地址如何从c盘更改为其他盘&#xff1f;http://www.byqws.com/blog/3146.html?…

软件设计师15--进程资源图

软件设计师15--进程资源图 考点1&#xff1a;进程资源图例题&#xff1a; 考点1&#xff1a;进程资源图 例题&#xff1a; 1、在如下所示的进程资源图中&#xff0c;D&#xff09;。 A、P1、P2、P3都是非阻塞节点&#xff0c;该图可以化简&#xff0c;所以是非死锁的 B、P1、…

基于java(springboot+mybatis)汽车信息管理系统设计和实现以及文档

基于java(springbootmybatis)汽车信息管理系统设计和实现以及文档 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐…

基于SSH的物流配送管理系统的设计与实现

摘 要 当今社会&#xff0c;物流配送已成为影响经济发展的显著因素。而随着社会信息化发展&#xff0c;建立有效的物流配送管理体系不仅能够减少物流成本&#xff0c;更能够提升工作人员的工作效率与客户的满意度。而基于B/S架构的物流配送管理体系&#xff0c;不仅具有良好的…

一些可以访问gpt的方式

1、Coze扣子是新一代 AI 大模型智能体开发平台。整合了插件、长短期记忆、工作流、卡片等丰富能力&#xff0c;扣子能帮你低门槛、快速搭建个性化或具备商业价值的智能体&#xff0c;并发布到豆包、飞书等各个平台。https://www.coze.cn/ 2、https://poe.com/ 3、插件阿里…

像SpringBoot一样使用Flask - 2.静态资源访问及模版

一、安装并导入 render_template 功能&#xff1a;渲染/加载模板&#xff0c;一般是html页面 参数&#xff1a;函数的第一个参数是模板的文件名&#xff0c;必填&#xff0c;后面的参数都是键值对&#xff0c;表示模板中变量对应的值&#xff0c;非必填 (不填界面也不会展示成变…

工程管理系统功能设计与实践:实现高效、透明的工程管理

在现代化的工程项目管理中&#xff0c;一套功能全面、操作便捷的系统至关重要。本文将介绍一个基于Spring Cloud和Spring Boot技术的Java版工程项目管理系统&#xff0c;结合Vue和ElementUI实现前后端分离。该系统涵盖了项目管理、合同管理、预警管理、竣工管理、质量管理等多个…

django学习记录07——订单案例(复选框+ajax请求)

1.订单的数据表 1.1 数据表结构 1.2 数据表的创建 models.py class Order(models.Model):"""订单号"""oid models.CharField(max_length64, verbose_name"订单号")title models.CharField(max_length64, verbose_name"名称&…

关于手机是否支持h264的问题的解决方案

目录 现象 原理 修改内容 现象 开始以为是手机不支持h264的编码 。机器人chatgpt一通乱扯。 后来检查了下手机&#xff0c;明显是有h264嘛。 终于搞定&#xff0c;不枉凌晨三点起来思考 原理 WebRTC 默认使用的视频编码器是VP8和VP9&#xff0c;WebRTC内置了这两种编码器…

2023年终总结——跌跌撞撞不断修正

目录 一、回顾1.一月&#xff0c;鼓足信心的开始2.二月&#xff0c;焦躁不安3.三月&#xff0c;路还是要一步一步的走4.四月&#xff0c;平平淡淡的前行5.五月&#xff0c;轰轰烈烈的前行6.六月&#xff0c;看事情更底层透彻了7.七月&#xff0c;设计模式升华月8.八月&#xff…