개요
Airbridge의 대부분의 컴포넌트는 AWS CodeBuild 를 이용하여 Docker image로 빌드가 되고, AWS ECS 와 EKS로 배포하여 운영하고 있습니다.
본 과제는 CI/CD 파이프라인 구성, Dockerfile구성, Helm차트 구성, Kubernetes 관리역랑을 종합적으로 평가합니다.
요구사항
다음 요구조건을 모두 만족하는 Github Repository 하나를 만들어주세요
도커 이미지를 만들어주세요
- 간단한 Static Web page를 만들어주세요 (html 로만 구성되어 있어도 괜찮습니다.)
- 위에서 생성한 Web page를 서빙할 수 있는 웹서버를
Dockerfile
로 만들어주세요
- 빌드된 도커이미지를 실행하여 80포트에 http get 요청을 보냈을 때 Static web page 를 서빙해야합니다.
- 로컬에서 이미지를 빌드하기 위해서 어떤 명령어를 실행해야하는지
README.md
에 설명해주세요
- 로컬에서 개발하기 위해 이미지를 빌드하지 않고, Static web page가 있는 directory를 마운트 하여 실행하는 방법을
README.md
에 설명해주세요
- 로컬에서 파일을 변경하면 서버를 재시작 하지 않아도 웹 브라우저 refresh 만으로 변경사항이 반영되어야합니다.
도커이미지를 만들어 Publish하는 CI/CD 파이프라인을 만들어주세요
Github Actions
, Gitlab CI/CD
, Jenkins Pipeline
, AWS CodeBuild
중 하나를 선택하여 다음조건을 만족하는 파이프라인을 생성해주세요
- 모든 브렌치에 대하여 push가 되었을때 그 브렌치에 있는 소스코드로 도커 이미지를 빌드 해 주세요
- 빌드된 도커 이미지에
<브렌치명>-<실행고유번호>
로 태그를 달아주세요
- 실행 고유번호는 push 되어 실행 될 때 마다 달라지는 고유번호를 의미합니다.
- 빌드된 이미지를 registry에 registry에 push 해주세요
- registry는
Github Package
, AWS ECR
, GCR
, Dockerhub
등 자유롭게 선택해주세요
Kubernetes에 배포할 수 있도록 Helm차트를 만들어주세요
- Deployment로 Pod가 2대 실행 될 수 있도록 해주세요