手机网站开发应注意,做翻译赚钱的网站,深圳网站排名怎么做,公众号运营收费价格表介绍
为了提高项目迭代的速度加速交付产品给客户#xff0c;我们通常会选择CICD工具来减少人力投入产生的成本#xff0c;开源的工具比如有成熟的Jenkins#xff0c;但是本文讲的是阿里云提高的解决方案云效平台#xff0c;通过配置流水线的形式实现项目的快速部署到服务器…介绍
为了提高项目迭代的速度加速交付产品给客户我们通常会选择CICD工具来减少人力投入产生的成本开源的工具比如有成熟的Jenkins但是本文讲的是阿里云提高的解决方案云效平台通过配置流水线的形式实现项目的快速部署到服务器或容器平台中
准备工作
01、编写Dockerfile文件可以根据不同的环境新建不同的Dockerfile文件比如Dockerfile-PROD
FROM openjdk:17.0.1-jdk
ENV LANGC.UTF-8
ENV TZAsia/Shanghai
ADD target/test-service.jar app.jarCMD [sh,-c,java -Xmx512m -Xms256m -XX:SurvivorRatio4 -XX:UseG1GC -XX:MaxGCPauseMillis50 -jar -XX:InitiatingHeapOccupancyPercent70 -Xlog:gc:/var/log/java_gc.log -XX:PrintGCDetails app.jar --spring.profiles.activeprod]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: NodePort03.在已有的ACK集群中创建命名空间prod-service 04.在ACR中新建镜像仓库
新建流水线
在云效中新建流水线如下图所示主要有三个阶段分别为拉取源代码即配置代码仓库、构建、部署 点击第一个阶段如下图所示进行编辑代码源及拉取代码默认分支 点击【Java 构建Docker镜像并推送镜像仓库】进行第二个阶段的编辑 如上图所示编写构建命令mvn -U clean package -pl order-service -am -Dmaven.test.skiptrue
如下图所编辑镜像推送ACR的步骤 点击【Kubernetes 发布】进行最后一个阶段部署的操作 其中选择集群连接时可以按照下图所示进行操作 增加变量标签用于上文中提到的拉取镜像的标签如下图所示
以上就是所有从代码拉取到构建代码到发布镜像到ACK的过程
验证发布
点击【运行】运行结果可通过如下图所示的流程图进行详细查看日志