과제 1. Docker + GitHub Actions 기초 CI
주제: Docker 이미지 빌드 자동화
간단한 웹 애플리케이션을 작성하고, GitHub Actions를 이용해 Docker 이미지를 자동 빌드하시오.
요구사항
Python Flask 또는 Node.js Express 기반 웹 앱 작성
Dockerfile 작성
GitHub Actions 워크플로 작성
main 브랜치에 push 시 Docker 이미지 빌드 수행
빌드 성공 여부를 GitHub Actions 로그에서 확인
제출물
Dockerfile

.github/workflows/docker-build.yml

Actions 실행 결과 캡처

과제 2. Docker + GitHub Actions + Azure VM 서버 배포
주제: GitHub Actions를 이용한 Azure Web App 배포
Docker로 패키징한 웹 애플리케이션을 GitHub Actions를 통해 Azure App Service에 배포하시오.
요구사항
Docker 기반 웹 애플리케이션 작성
Azure App Service 생성
GitHub Actions에서 Docker 이미지 빌드
Azure 인증 설정
GitHub Actions를 이용해 Azure App Service에 배포
배포된 웹 서비스 URL 접속 확인
제출물
GitHub Actions workflow 파일


배포 성공 로그

서비스 실행 화면 캡처

과제 3. Docker + GitHub Actions + Azure ACR + Azure 자동 배포
주제: Azure Container Registry 기반 자동 배포
GitHub Actions에서 Docker 이미지를 빌드한 후 Azure Container Registry에 push하고, Azure 서비스에 자동 배포하시오.
요구사항
Azure Container Registry 생성
Docker 이미지 빌드
GitHub Actions에서 ACR 로그인
이미지를 ACR에 push
Azure App Service 또는 Azure Container Apps에 자동 배포
새 커밋 push 시 자동 재배포 확인
제출물
ACR 이름 및 이미지 태그

GitHub Actions workflow 파일


ACR 이미지 업로드 확인 캡처

자동 배포 결과 캡처

과제 4. Docker + Docker Hub + GitHub Actions + Azure ACR + Azure VM 서버 자동 배포
주제: Docker Hub와 Azure ACR을 연계한 멀티 레지스트리 CI/CD
GitHub Actions를 사용하여 Docker 이미지를 Docker Hub와 Azure ACR 두 곳에 모두 push하고, Azure 환경에 자동 배포하시오.
요구사항
Docker 기반 웹 애플리케이션 작성
Docker Hub 저장소 생성
Azure Container Registry 생성
GitHub Actions에서 Docker 이미지 빌드
동일 이미지를 Docker Hub와 Azure ACR에 push
Azure App Service 또는 Azure Container Apps가 ACR 이미지를 사용하도록 구성
코드 변경 후 push 시 이미지 재빌드 및 Azure 자동 재배포 확인
제출물
GitHub - bamtoll/docker-multi-registry
Contribute to bamtoll/docker-multi-registry development by creating an account on GitHub.
github.com
Azure ACR 이미지 URL

GitHub Actions workflow 파일


Docker Hub push 결과 캡처

ACR push 결과 캡처

Azure 자동 배포 결과 캡처

'[Microsoft] Cyber Security School 7기' 카테고리의 다른 글
| AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions / M02-Unit 3 Create and configure a virtual network gateway Exercise 트러블슈팅 기록 (0) | 2026.05.29 |
|---|---|
| MySQL JOIN 과제 (0) | 2026.05.26 |
| 클라우드 기반 윈도우/리눅스 서버 과제-3...IDM(FreeIPA), Active Directory 과제 (0) | 2026.05.19 |
| 클라우드기반 데이터베이스보안 과제-1 도커(Docker) (0) | 2026.05.19 |
| Azure 클라우드 + cloud-init 과제 (0) | 2026.05.17 |