[Azure] GitHub Actions에서 az 명령을 정기적으로 두드리기
7745 단어 AzureGitHubActionsGitHub
이 기사에서는 다음 문서를 참조하여 VM 시작을 예약하고 싶습니다.
htps : // 기주 b. 코 m / 마 r tp ぁ세 / 아 c 치온 s / 아즈레 - c ぃ - 아 c 치온
사전에 GitHub 계정과 Azure에 VM을 생성했다고 가정합니다.
1. GitHub 리포지토리 생성
먼저 다음 문서를 참조하여 리포지토리를 만듭니다.
htps : // / cs. 기주 b. 코 m / 그럼 / f Ree-p-ro m @ st / Geteu b / Getchin g-s-r-de-u-th-gee b / c Ree-Arepo
이번에는 Private 리포지토리에서 사용해 보겠습니다.
2. 워크플로 만들기
Actions
탭에서 Simple workflow
를 선택합니다.파일 편집 화면으로 전환되므로 다음 YAML을 붙여 넣습니다.
<RG 名>
와 <VM 名>
에는 기동하는 VM 의 자원 그룹명과 머신명으로 재기입해 주세요.name: schedule_vm_start
on:
schedule:
- cron: '0 0 * * *'
# 以下の記述でワークフローの手動実行も可能になります
workflow_dispatch:
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
# Azure にログインする
- name: Azure Login
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
# az コマンドを実行する
- name: Azure CLI script
uses: azure/CLI@v1
with:
azcliversion: 2.0.72
# <RG 名> と <VM 名> を書き換える
inlineScript: |
az vm start -g <RG 名> -n <VM 名>
스케줄은 cron 구문으로 표시되며 UTC 시간에 설정됩니다. (위에서 UTC 0:00/JST 9:00)
워크플로의 cron 구문은 다음 문서에서 찾을 수 있습니다.
htps : // / cs. 기주 b. 코 m / 그럼 / f Ree-p-ro m @ st / Ac Chion s / Rep-Rense / e-on ts-te-t-t Righ r-rkf ws
또한 전체 YAML 파일의 구문에 대해서는 다음을 참조하십시오.
htps : // / cs. 기주 b. 코 m / 그럼 / f Ree-p-ro m @ st / Ac Chion s / Rep-Rense / 아 c 치온 s
3. Azure 자격 증명 설정
Azure에 로그인하는 서비스 보안 주체를 만들고 ${{ secrets.AZURE_CREDENTIALS }}
에 비밀 정보를 반영하도록 설정합니다.
문서를 참조하여 다음 명령을 Azure Cloud Shell 등에서 실행하여 서비스 보안 주체를 만듭니다.
htps : // 기주 b. 코 m / 마르 tp ぁ세 / 아 c 치 온 s / 아즈레 - c ぃ - 아 c 치온 # 곤후 쿠레 - 아즈레 - c 레 덴치아 ls - 아 - 기 - 세 c t
az ad sp create-for-rbac --name "myApp" --role contributor \
--scopes /subscriptions/{subscription-id}/resourceGroups/{resource-group} \
--sdk-auth
# コマンド実行結果
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
명령 실행 결과의 JSON을 모두 복사합니다.
그런 다음 GitHub로 돌아가서 Settings > Secrets > New repository secret
를 선택합니다.
New secret 화면에서 Name에 AZURE_CREDENTIALS
를 Value에 이전에 복사한 명령 실행 결과(JSON)를 모두 붙여넣고 Add secret
로 등록합니다.
4. 워크플로 실행 확인
GitHub Actions
탭으로 돌아가면 2.에서 만든 워크 플로가 표시됩니다.workflow_dispatch
의 기술에 의해, 이하와 같이 수동 실행을 위한 버튼이 표시되므로, 실행해 봅시다.
문제 없이 실행되면 해당 VM이 시작되고 있을 것이므로 Azure Portal 등에서 확인해 봅시다.
또한 일정에 설정한 시간에 시작했는지 확인합시다.Actions
탭에서 실행 기록을 볼 수 있습니다.
마지막으로
GitHub Actions는 CI/CD 워크플로 외에 이번에 소개한 Azure 리소스 관리 같은 것도 가능하다는 것을 알았습니다.
GitHub Acrions의 요금 체계는 퍼블릭 리포지토리에서는 무료, 프라이빗 리포지토리에서는 플랜에 의해 무료 프레임(Free 플랜에서는 2000분/월)이 존재하고 있어, 통상 이용에서는 거의 돈이 들지 않기 때문에 적극적으로 활용해 보려고 생각 합니다.
htps : // 기주 b. 이. jp / 훗 아츠레 s / 아 c 치온 s
참고 자료
az ad sp create-for-rbac --name "myApp" --role contributor \
--scopes /subscriptions/{subscription-id}/resourceGroups/{resource-group} \
--sdk-auth
# コマンド実行結果
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
Reference
이 문제에 관하여([Azure] GitHub Actions에서 az 명령을 정기적으로 두드리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tomohat/items/bd5e81643bc710f6d72f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)