From 67b04493a6913b4eb9671b0734b08237e01a46e0 Mon Sep 17 00:00:00 2001 From: n-y-kim Date: Mon, 11 Mar 2024 19:15:57 +0900 Subject: [PATCH] Add GH action setting docs --- docs/gh-action-setting.md | 56 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 docs/gh-action-setting.md diff --git a/docs/gh-action-setting.md b/docs/gh-action-setting.md new file mode 100644 index 00000000..96f19d0c --- /dev/null +++ b/docs/gh-action-setting.md @@ -0,0 +1,56 @@ +# Github Action 세팅으로 CI/CD 파이프라인 만들기 + +## 1. manifest yaml 파일 수정하기 +`manifest/app.yaml` 파일의 L24 에서 `` 부분을 실제로 배포 완료된 Azure Container Registry 이름으로 바꾸어줍니다. + +```yaml +... + containers: + - name: chatbot-app-container + image: .azurecr.io/chatbot-app:v1 + ports: + - containerPort: 80 +... +``` + +## 2. Azure Service Principal 만들기 +깃헙 액션이 권한을 가지고 ACR(Azure Container Registry)에 이미지를 업로드 & AKS에서 이미지를 pull 받아 올 수 있게 하기 위해 `Service Principal`이라는 걸 만듭니다. + +> [!Note] +> Service Principal이란? (Azure의 다양한 identity 옵션) + +```bash +az ad sp create-for-rbac --name "<본인이름>-ghActionAzureVote" --scope /subscriptions//resourceGroups/ --role Contributor --json-auth +``` + +ouput 값으로 이런 값들이 나옵니다. + +```bash +{ + "clientId": , + "clientSecret": , + "subscriptionId": , + "tenantId": , + ... +} +``` + +## 3. Secret 값 지정하기 + +포크를 떠서 가져간 레포에서 `Settings > Security > Secrets and Variables > Actions` 에 들어가 output으로 나온 값들과 AKS/ACR 정보를 차례로 입력합니다. + +|Secret name |Secret value | +|---------|---------| +|AZURE_CREDENTIALS|`az ad sp create-for-rbac` 커맨드 결과 json 값을 모두 넣습니다.| +|service_principal | `` 값.| +|service_principal_password| `` 값.| +|subscription| ``.| +|tenant|``.| +|registry| ACR이름.| +|repository|Cloud-Club-Copilot| +|resource_group|Azure에 생성한 리소스 그룹 이름(`variables.tf`에서 수정한 리소스 그룹 이름).| +|cluster_name|AKS 클러스터 이름.| + +## Action 테스트하기 + +- TBD \ No newline at end of file