Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
pms-ci-test
Commits
34c48c9b
Unverified
提交
34c48c9b
authored
5月 16, 2023
作者:
余乾开
提交者:
GitHub
5月 16, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Create alibabacloud.yml
Github Action
上级
f055f0fb
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
122 行增加
和
0 行删除
+122
-0
alibabacloud.yml
.github/workflows/alibabacloud.yml
+122
-0
没有找到文件。
.github/workflows/alibabacloud.yml
0 → 100644
浏览文件 @
34c48c9b
# This workflow will build and push a new container image to Alibaba Cloud Container Registry (ACR),
# and then will deploy it to Alibaba Cloud Container Service for Kubernetes (ACK), when there is a push to the "develop" branch.
#
# To use this workflow, you will need to complete the following set-up steps:
#
# 1. Create an ACR repository to store your container images.
# You can use ACR EE instance for more security and better performance.
# For instructions see https://www.alibabacloud.com/help/doc-detail/142168.htm
#
# 2. Create an ACK cluster to run your containerized application.
# You can use ACK Pro cluster for more security and better performance.
# For instructions see https://www.alibabacloud.com/help/doc-detail/95108.htm
#
# 3. Store your AccessKey pair in GitHub Actions secrets named `ACCESS_KEY_ID` and `ACCESS_KEY_SECRET`.
# For instructions on setting up secrets see: https://developer.github.com/actions/managing-workflows/storing-secrets/
#
# 4. Change the values for the REGION_ID, REGISTRY, NAMESPACE, IMAGE, ACK_CLUSTER_ID, and ACK_DEPLOYMENT_NAME.
#
name
:
Build and Deploy to ACK
on
:
push
:
branches
:
[
"
develop"
]
# Environment variables available to all jobs and steps in this workflow.
env
:
REGION_ID
:
cn-hangzhou
REGISTRY
:
registry.cn-hangzhou.aliyuncs.com
NAMESPACE
:
namespace
IMAGE
:
repo
TAG
:
${{ github.sha }}
ACK_CLUSTER_ID
:
clusterID
ACK_DEPLOYMENT_NAME
:
nginx-deployment
ACR_EE_REGISTRY
:
myregistry.cn-hangzhou.cr.aliyuncs.com
ACR_EE_INSTANCE_ID
:
instanceID
ACR_EE_NAMESPACE
:
namespace
ACR_EE_IMAGE
:
repo
ACR_EE_TAG
:
${{ github.sha }}
permissions
:
contents
:
read
jobs
:
build
:
runs-on
:
ubuntu-latest
environment
:
production
steps
:
-
name
:
Checkout
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
-
uses
:
actions/checkout@v3
-
name
:
Login to ACR EE with the AccessKey pair
uses
:
aliyun/acr-login@v1
with
:
login-server
:
"
https://${{
env.ACR_EE_REGISTRY
}}"
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
}}"
# 2.2 (Optional) Build and push image ACR EE
-
name
:
Build and push image to ACR EE
run
:
|
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"
# 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
-
name
:
Set up Kustomize
run
:
|-
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash /dev/stdin 3.8.6
-
name
:
Deploy
run
:
|-
./kustomize edit set image REGISTRY/NAMESPACE/IMAGE:TAG=$REGISTRY/$NAMESPACE/$IMAGE:$TAG
./kustomize build . | kubectl apply -f -
kubectl rollout status deployment/$ACK_DEPLOYMENT_NAME
kubectl get services -o wide
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论