연습 - GitHub Actions를 사용하여 업데이트 자동화
GitHub Actions는 Azure SQL Database를 포함한 다양한 서비스에 대한 CI/CD 파이프라인을 자동화하는 방법입니다.
버스 타기 시나리오에서는 데이터베이스에서 애플리케이션의 기반을 구축합니다. 데이터베이스를 업데이트하거나 동일한 구성을 새 데이터베이스에 자동으로 배포하려는 경우 GitHub Actions를 사용할 수 있습니다.
업데이트를 자동화하려면 GitHub 비밀과 yaml 파일을 구성해야 합니다. 모두 설정되면 푸시되는 새 커밋에서 워크플로를 트리거하여 Azure SQL Database 또는 다른 서비스를 업데이트합니다.
GitHub를 사용하여 안전하게 비밀 구성
GitHub 비밀은 GitHub에 비밀, 키, 기타 중요한 정보를 안전하게 저장하는 방법을 제공합니다. 이 섹션에서는 Azure SQL Database 연결 문자열을 포함하는 새 GitHub 비밀을 만듭니다.
텍스트 파일, 메모장 또는 문서에서 Azure SQL Database의 연결 문자열을 확인합니다.
Server=<server-name>.database.windows.net,1433;Initial Catalog=bus-db;User Id=cloudadmin;Password=<your-password>;Connection Timeout=30;
과 같이 표시됩니다.GitHub에서 이 모듈에 대한 리포지토리로 이동합니다(로그인되어 있는지 확인).
https://github.com/<your-git-username>/serverless-full-stack-apps-azure-sql
과 같이 표시됩니다.리포지토리의 설정을 선택합니다.
비밀 및 변수>작업>새 리포지토리 비밀을 선택하고 다음 정보를 입력합니다.
- ‘이름’: AZURE_SQL_CONNECTION_STRING
- 비밀: 이전 단계의 연결 문자열
비밀 추가를 선택합니다.
GitHub Actions에 대한 yaml 파일 구성
코드 리포지토리에 사용할 수 있는 여러 가지 템플릿 yaml 파일이 있습니다. 이 모듈에서는 Azure SQL Database에 대한 워크플로 파일만 사용합니다.
Visual Studio Code에서 작업 표시줄에서 탐색기 아이콘을 선택하여 리포지토리 파일을 봅니다. 표시되지 않으면 파일>폴더 열기를 선택하고 리포지토리를 복제한 위치로 이동합니다.
.github\workflows
폴더에서azuresqldatabase.yml.template
의 이름을azuresqldatabase.yml
로 바꿉니다.템플릿을 검토하고 워크플로에서 수행할 작업 및 데이터베이스를 업데이트하는 방법을 이해합니다.
Visual Studio Code 및 GitHub를 사용하여 커밋 푸시 및 결과 모니터링
GitHub 비밀과 워크플로 파일을 구성했으므로 커밋을 푸시하고 워크플로를 관찰할 수 있습니다.
작업 표시줄에서 소스 제어 아이콘을 선택합니다.
‘메시지’ 상자에 “데이터베이스 yaml 사용”이나 다른 메시지를 입력합니다.
확인 표시를 선택합니다. 파일을 준비하지 않고 커밋하는 것에 대한 경고가 표시되면 [예]를 선택하여 변경된 파일을 스테이징할 수 있습니다.
...>푸시를 선택합니다. 그러면 GitHub에서 호스트되는 리포지토리에 업데이트가 푸시되고 GitHub Actions가 시작됩니다.
중요
로그인하라는 메시지가 표시되면 GitHub 사용자 이름을 사용하고 개인용 액세스 토큰을 가져와 GitHub 암호 대신 제공해야 합니다. https://github.com/settings/tokens/new로 이동하여 이 작업을 수행할 수 있습니다.
VSCode
라는 메모를 추가하고, 모든 확인란을 선택하고, 토큰 생성을 선택합니다. 토큰 텍스트를 복사하여 안전한 위치에 저장합니다. Visual Studio Code로 돌아가서 토큰을 암호/토큰으로 사용하여 GitHub에 로그인합니다.이 모듈에 대한 GitHub 리포지토리로 이동하여 작업을 선택합니다. GitHub Actions를 사용하면 리포지토리에서 바로 소프트웨어 개발 워크플로를 자동화, 사용자 지정 및 실행할 수 있습니다.
실행 중이거나 완료된 워크플로의 콘텐츠를 관찰합니다. Azure SQL 작업(Action)이 리포지토리의
.dacpac
파일을 사용하여 데이터베이스의 최종 상태를 Azure SQL Database에 배포하는 방법을 확인합니다.