자동 빌드

자동 빌드 (Automated builds)

Docker Hub가 외부 저장소의 소스 코드에서 이미지를 자동으로 빌드하고, 만들어진 이미지를 Docker 저장소로 자동 푸시하는 기능을 배워볼게요.

출처: 문서

본문

구독: Pro, Team, Business 가용성: Deprecated (더 이상 사용되지 않음)

경고: Docker Hub Automated Builds는 더 이상 사용되지 않는(deprecated) 기능이에요. 2027년 4월 1일에 완전히 퇴역할 예정이에요. 지원되는 CI/CD 워크플로우로 이동하려면 마이그레이션 가이드를 확인해요.

Docker Hub는 외부 저장소의 소스 코드에서 이미지를 자동으로 빌드하고, 빌드된 이미지를 Docker 저장소로 자동 푸시할 수 있어요. 자동 빌드(autobuild)를 설정하면 Docker 이미지로 빌드하고 싶은 브랜치와 태그의 목록을 만들게 돼요. 예를 들어 GitHub의 소스 코드 브랜치 중 나열된 이미지 태그 중 하나에 코드를 푸시하면, 그 푸시가 웹훅을 통해 새 빌드를 트리거하고, 그 결과 Docker 이미지가 만들어져요. 만들어진 이미지는 Docker Hub로 푸시돼요.

참고: 자동 빌드가 설정된 저장소에도 docker push를 사용해 미리 빌드된 이미지를 푸시할 수 있어요.

자동 테스트(automated tests)를 설정했다면 테스트는 빌드 후, 레지스트리에 푸시하기 전에 실행돼요. 이 테스트를 이용해 빌드가 테스트에 실패하면 만들어진 이미지를 푸시하지 않는 지속적 통합(continuous integration) 워크플로우를 만들 수 있어요. 자동 테스트는 그 자체로 이미지를 레지스트리에 푸시하지는 않아요. 자동 이미지 테스트에 대해 자세히 알아보려면 관련 문서를 확인해요.

구독(subscription)에 따라 동시 빌드(concurrent builds)가 허용될 수 있어요. 즉 동시에 N개의 autobuild를 실행할 수 있게 되는 거예요. N은 구독에 따라 설정돼요. N+1개의 빌드가 실행되면 추가 빌드는 나중에 실행되도록 큐에 들어가요. 큐에 대기할 수 있는 최대 빌드 수는 30개이고, Docker Hub는 그 이상의 요청은 버려요. Pro의 동시 빌드 수는 5개이고, Team과 Business는 15개예요. 자동 빌드는 최대 10GB 크기의 이미지를 처리할 수 있어요.

더 알아보기 (Learn more)