提交 eaabca18 作者: 余乾开

feat(Github Action):补充Github Action

上级 34c48c9b
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
# 4. Change the values for the REGION_ID, REGISTRY, NAMESPACE, IMAGE, ACK_CLUSTER_ID, and ACK_DEPLOYMENT_NAME. # 4. Change the values for the REGION_ID, REGISTRY, NAMESPACE, IMAGE, ACK_CLUSTER_ID, and ACK_DEPLOYMENT_NAME.
# #
name: Build and Deploy to ACK name: Build and Push to ACR
on: on:
push: push:
...@@ -25,18 +25,18 @@ on: ...@@ -25,18 +25,18 @@ on:
# Environment variables available to all jobs and steps in this workflow. # Environment variables available to all jobs and steps in this workflow.
env: env:
REGION_ID: cn-hangzhou REGION_ID: cn-shenzhen
REGISTRY: registry.cn-hangzhou.aliyuncs.com REGISTRY: mmc-registry.cn-shenzhen.cr.aliyuncs.com
NAMESPACE: namespace NAMESPACE: sharefly
IMAGE: repo IMAGE: pms
TAG: ${{ github.sha }} TAG: ${{ github.sha }}
ACK_CLUSTER_ID: clusterID #ACK_CLUSTER_ID: clusterID
ACK_DEPLOYMENT_NAME: nginx-deployment #ACK_DEPLOYMENT_NAME: nginx-deployment
ACR_EE_REGISTRY: myregistry.cn-hangzhou.cr.aliyuncs.com ACR_EE_REGISTRY: mmc-registry.cn-shenzhen.cr.aliyuncs.com
ACR_EE_INSTANCE_ID: instanceID ACR_EE_INSTANCE_ID: cri-yhk5zgfc2v1sia6l
ACR_EE_NAMESPACE: namespace ACR_EE_NAMESPACE: sharefly
ACR_EE_IMAGE: repo ACR_EE_IMAGE: pms
ACR_EE_TAG: ${{ github.sha }} ACR_EE_TAG: ${{ github.sha }}
permissions: permissions:
...@@ -45,36 +45,12 @@ permissions: ...@@ -45,36 +45,12 @@ permissions:
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
environment: production environment: dev
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v3
# 1.1 Login to ACR
- name: Login to ACR with the AccessKey pair
uses: aliyun/acr-login@v1
with:
region-id: "${{ env.REGION_ID }}"
access-key-id: "${{ secrets.ACCESS_KEY_ID }}"
access-key-secret: "${{ secrets.ACCESS_KEY_SECRET }}"
# 1.2 Buid and push image to ACR
- name: Build and push image to ACR
run: |
docker build --tag "$REGISTRY/$NAMESPACE/$IMAGE:$TAG" .
docker push "$REGISTRY/$NAMESPACE/$IMAGE:$TAG"
# 1.3 Scan image in ACR
- name: Scan image in ACR
uses: aliyun/acr-scan@v1
with:
region-id: "${{ env.REGION_ID }}"
access-key-id: "${{ secrets.ACCESS_KEY_ID }}"
access-key-secret: "${{ secrets.ACCESS_KEY_SECRET }}"
repository: "${{ env.NAMESPACE }}/${{ env.IMAGE }}"
tag: "${{ env.TAG }}"
# 2.1 (Optional) Login to ACR EE # 2.1 (Optional) Login to ACR EE
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Login to ACR EE with the AccessKey pair - name: Login to ACR EE with the AccessKey pair
...@@ -91,32 +67,12 @@ jobs: ...@@ -91,32 +67,12 @@ jobs:
run: | run: |
docker build -t "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG" . docker build -t "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG" .
docker push "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG" docker push "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG"
# 2.3 (Optional) Scan image in ACR EE
- name: Scan image in ACR EE
uses: aliyun/acr-scan@v1
with:
region-id: "${{ env.REGION_ID }}"
access-key-id: "${{ secrets.ACCESS_KEY_ID }}"
access-key-secret: "${{ secrets.ACCESS_KEY_SECRET }}"
instance-id: "${{ env.ACR_EE_INSTANCE_ID }}"
repository: "${{ env.ACR_EE_NAMESPACE}}/${{ env.ACR_EE_IMAGE }}"
tag: "${{ env.ACR_EE_TAG }}"
# 3.1 Set ACK context
- name: Set K8s context
uses: aliyun/ack-set-context@v1
with:
access-key-id: "${{ secrets.ACCESS_KEY_ID }}"
access-key-secret: "${{ secrets.ACCESS_KEY_SECRET }}"
cluster-id: "${{ env.ACK_CLUSTER_ID }}"
# 3.2 Deploy the image to the ACK cluster # 3.2 Deploy the image to the ACK cluster
- name: Set up Kustomize - name: Set up Kustomize
run: |- run: |-
cd kustomization/overlays/dev
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash /dev/stdin 3.8.6 curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash /dev/stdin 3.8.6
- name: Deploy - name: Set Image
run: |- run: |-
./kustomize edit set image REGISTRY/NAMESPACE/IMAGE:TAG=$REGISTRY/$NAMESPACE/$IMAGE:$TAG ./kustomize edit set image REGISTRY/NAMESPACE/IMAGE:TAG=$REGISTRY/$NAMESPACE/$IMAGE:$TAG
\ No newline at end of file
./kustomize build . | kubectl apply -f -
kubectl rollout status deployment/$ACK_DEPLOYMENT_NAME
kubectl get services -o wide
apiVersion: extensions/v1beta1 #apiVersion: extensions/v1beta1
kind: Ingress #kind: Ingress
metadata: #metadata:
name: pms-ingress # name: pms-ingress
namespace: default # namespace: default
spec: #spec:
rules: # rules:
- host: infra.mmcuav.cn # - host: infra.mmcuav.cn
http: # http:
paths: # paths:
- backend: # - backend:
serviceName: pms-svc # serviceName: pms-svc
servicePort: 8081 # servicePort: 8081
path: / # path: /
\ No newline at end of file \ No newline at end of file
...@@ -6,8 +6,9 @@ metadata: ...@@ -6,8 +6,9 @@ metadata:
spec: spec:
selector: selector:
app: pms app: pms
type: LoadBalancer #NodePort type: NodePort
ports: ports:
- protocol: TCP - protocol: TCP
port: 8081 port: 8099
targetPort: 8081 targetPort: 8099
\ No newline at end of file NodePort: 30099
\ No newline at end of file
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: pms-ingress
spec:
rules:
- host: hello-dev.coolops.cn
http:
paths:
- backend:
serviceName: pms-svc
servicePort: 8081
path: /
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论