!6 v1.2.0 Merge pull request !6 from Chenyt26/master-dev
本READEME指导是基于action: Huawei Cloud CCI Deoloy使用华为云容器实例CCI的workflows样例
CCI部署有如下场景:1.通过简单参数直接创建或者更新负载2.根据提供的yaml文件创建或者更新负载
推荐使用最新版本的huaweicloud/auth-action进行华为云部署容器实例的鉴权认证。
- name: Authenticate to Huawei Cloud uses: huaweicloud/auth-action@v1.1.0 with: access_key_id: ${{ secrets.ACCESSKEY }} secret_access_key: ${{ secrets.SECRETACCESSKEY }} region: '<region>' project_id: '<project_id>'
一、代码容器构建build
二、部署容器实例deploy
- uses: actions/checkout@v2
- name: Build with Maven id: build-project run: mvn package -Dmaven.test.skip=true -U -e -X -B
- name: Log in to Huawei Cloud SWR uses: huaweicloud/swr-login@v2.1.0 with: region: ${{ env.REGION_ID }} access-key-id: ${{ secrets.ACCESSKEY }} access-key-secret: ${{ secrets.SECRETACCESSKEY }}
- name: Build, Tag, and Push Image to Huawei Cloud SWR id: build-image env: SWR_REGISTRY: swr.${{ env.REGION_ID }}.myhuaweicloud.com SWR_ORGANIZATION: ${{ env.SWR_ORGANIZATION }} IMAGE_TAG: ${{ github.sha }} IMAGE_NAME: ${{ env.IMAGE_NAME }} run: | docker build -t $SWR_REGISTRY/$SWR_ORGANIZATION/$IMAGE_NAME:$IMAGE_TAG . docker push $SWR_REGISTRY/$SWR_ORGANIZATION/$IMAGE_NAME:$IMAGE_TAG echo "::set-output name=image::$SWR_REGISTRY/$SWR_ORGANIZATION/$IMAGE_NAME:$IMAGE_TAG"
- name: Authenticate to Huawei Cloud uses: huaweicloud/auth-action@v1.1.0 with: access_key_id: ${{ secrets.ACCESSKEY }} secret_access_key: ${{ secrets.SECRETACCESSKEY }} region: ${{ env.REGION_ID }} project_id: ${{env.PROJECT_ID}}
- name: Kubectl Tool Installer id: install-kubectl uses: Azure/setup-kubectl@v2.1
- name: Deploy to CCI uses: huaweicloud/deploy-cci-action@v1.2.0 id: deploy-to-cci with: namespace: action-namespace-name deployment: action-deployment-name image: ${{ needs.build.outputs.image }}
action 内容
- name: Deploy to CCI uses: huaweicloud/deploy-cci-action@v1.2.0 id: deploy-to-cci with: namespace: action-namespace-name deployment: action-deployment-name image: ${{ needs.build.outputs.image }} manifest: ./deployment.yml
yaml文件manifest内容以下示例为一个名为cci-deployment的Deployment负载,负载在命名空间是cci-namespace-70395701,使用swr.cn-north-4.myhuaweicloud.com/namespace/demo:v1.1t镜像创建两个Pod,每个Pod占用500m core CPU、1G内存。
apiVersion: apps/v1 # 注意这里与Pod的区别,Deployment是apps/v1而不是v1 kind: Deployment # 资源类型为Deployment metadata: name: cci-deployment # 必填,Deployment的名称即是负载的名称 spec: replicas: 2 # Pod的数量,Deployment会确保一直有2个Pod运行 selector: # Label Selector matchLabels: app: cci-deployment # Deployment的名称即是负载的名称 template: # Pod的定义,用于创建Pod,也称为Pod template metadata: labels: app: cci-deployment # Deployment的名称即是负载的名称 spec: containers: - image: swr.cn-north-4.myhuaweicloud.com/namespace/demo:v1.1 # 镜像地址,传入参数image会将次镜像地址替换 name: container-0 ports: - containerPort: 80 resources: limits: cpu: 500m memory: 1024Mi requests: cpu: 500m memory: 1024Mi imagePullSecrets: # 拉取镜像使用的证书,必须为imagepull-secret - name: imagepull-secret
备注:
1.代码demo工程中华为云活动页面
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
部署华为云容器实例CCI Workflow样例
本READEME指导是基于action: Huawei Cloud CCI Deoloy使用华为云容器实例CCI的workflows样例
CCI部署有如下场景:
1.通过简单参数直接创建或者更新负载
2.根据提供的yaml文件创建或者更新负载
前置工作
1.鉴权认证
推荐使用最新版本的huaweicloud/auth-action进行华为云部署容器实例的鉴权认证。
2.华为云容器实例 Cloud Container Instance, CCI
3.容器镜像服务(SoftWare Repository for Container,SWR)
参数说明
部署cci样例workflow
部署过程分为如下几个步骤
一、代码容器构建build
二、部署容器实例deploy
代码容器构建build-代码检出
代码容器构建build-项目打包
代码容器构建build-SWR容器镜像服务鉴权
代码容器构建build-制作并推送镜像到SWR
部署容器实例deploy-华为云统一鉴权
部署容器实例deploy-安装Kubectl工具
部署容器实例deploy-部署镜像到CCI
部署镜像到CCI场景一:通过简单参数直接创建或者更新负载
部署镜像到CCI场景二:根据提供的yaml文件创建或者更新负载
action 内容
yaml文件manifest内容
以下示例为一个名为cci-deployment的Deployment负载,负载在命名空间是cci-namespace-70395701,使用swr.cn-north-4.myhuaweicloud.com/namespace/demo:v1.1t镜像创建两个Pod,每个Pod占用500m core CPU、1G内存。
备注:
公网地址说明
1.代码demo工程中华为云活动页面