Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

DockerHub의 Automated Build

Docker를 쓴 지 꽤 됐지만, Docker Hub를 아주 많이 사용하진 않았다. 사내에서 Docker를 주고 쓰기 시작해서인지 GitHub에서 사이드 프로젝트를 할 때도 당연히 CI에 설정을 통해 Docker 이미지를 만들어서 배포하는 접근을 이용하다가 최근에 Docker Hub에서 자동으로 도커 이미지를 만들어서 등록해주는 Automated Build가 있다는 것을 알게 되었다. CI에서 사용하는 것보다 훨씬 편해서 최근에는 사용하던 것을 모두 Automated Build로 바꾸고 있다.(어찌 보면 당연히 있을 것 같은 기능인데 왜 찾아볼 생각을 안 했는지...)

DockerHub의 Automated Build 생성 메뉴

Docker Hub에서 "Automated Build"를 생성한다.

DockerHub의 Automated Build의 저장소 연결 화면

Git 저장소와 연결할 수 있는데 나는 GitHub를 사용하기 때문에 GitHub와 연결했다.

GitHub의 저장소 선택

연결된 GitHub 계정에서 Automated Build를 사용할 저장소를 선택한다. 이 저장소에서 브랜치에 커밋을 푸시하거나 새로운 태그를 생성할 때 자동으로 Docker 이미지를 생성해서 등록하도록 할 수 있다.

DockerHub의 Automated Build 등록 화면

등록된 정보를 확인하고 Docker Hub의 저장소에 표시될 간단한 설명 문구를 등록할 수 있다.

DockerHub의 Automated Build 설정 화면

생성된 저장소에서 "Build Settings"를 보면 도커 이미지를 생성할 트리거를 설정할 수 있다. 기본 값은 master 브랜치에 커밋이 등록되면 트리거되는데 이렇게 자주 만들 필요는 없으므로 나는 Git 태그가 추가되면 도커 이미지를 만들도록 설정했다. 태그가 올라오면 태그와 같은 이름으로 Docker 이미지를 만들고 latest로도 하나 만들도록 트리거를 2개 등록했다.

DockerHub에 등록된 README

Automated Build의 좋은 점 중 하나는 README.md를 자동으로 파싱해서 등록해 준다는 점이다. 그동안 수동으로 Docker 이미지를 등록할 때 Full Description은 어떻게 등록하는지 궁금하긴 했다.(귀찮아서 안 찾아보고 있었지만...) 아쉬운 점은 나는 최근에는 README를 Markdown이 아니라 AsciiDoc으로 작성하는데 Docker Hub는 AsciiDoc은 파싱해주지 않는다.

2018/07/10 03:52 2018/07/10 03:52