GitHub·Bitbucket에서 자동 빌드 구성하기

GitHub·Bitbucket에서 자동 빌드 구성하기 (Configure automated builds from GitHub and BitBucket)

이미지 빌드·테스트를 자동화하기 위해 호스팅 소스 코드 서비스를 Docker Hub에 연결해 소스 코드 저장소에 접근하도록 하는 방법을 배워볼게요.

출처: 문서

본문

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

참고: 자동 빌드에는 Docker Pro, Team, Business 구독이 필요해요.

이미지 빌드와 테스트를 자동화하려면 호스팅 소스 코드 서비스를 Docker Hub에 연결해서 소스 코드 저장소에 접근할 수 있게 해야 해요. 이 연결을 사용자 계정이나 조직에 대해 구성할 수 있어요.

팀을 위해 autobuild를 만들 소스 코드 제공자를 연결한다면, 아래 설명대로 계정을 연결하기 전에 팀용 서비스 계정을 만드는 지침을 따르세요.

GitHub 사용자 계정 연결하기

  1. Docker Hub에 로그인해요.

  2. My Hub > Settings > Linked accounts 를 선택해요.

  3. 연결하려는 소스 제공자에 대해 Link provider 를 선택해요. 현재 GitHub 계정을 연결 해제하고 새 GitHub 계정에 다시 연결하려면 Docker Hub를 통해 연결하기 전에 GitHub에서 완전히 로그아웃해야 해요.

  4. Docker Hub Builder OAuth 애플리케이션 설정을 검토해요.

    참고: GitHub 조직의 소유자라면 이 화면에서 Docker Hub에 조직 접근 권한을 부여하는 옵션이 보일 수 있어요. 또한 조직의 third-party access 설정을 개별적으로 편집해 Docker Hub의 접근 권한을 부여하거나 철회할 수도 있어요. 자세한 내용은 아래 "GitHub 조직에 접근 권한 부여"를 참고해요.

  5. Authorize docker 를 선택해 연결을 저장해요.

GitHub 조직에 접근 권한 부여

GitHub 조직의 소유자라면 Docker Hub에 조직 저장소 접근 권한을 부여하거나 철회할 수 있어요. GitHub 조직 설정에 따라 조직 소유자여야 할 수도 있어요. 조직에 특정 접근 권한이 이전에 부여되거나 철회된 적이 없다면, 사용자 계정을 연결할 때 동시에 접근 권한을 부여하는 경우가 많아요. 이 경우 연결 계정 화면의 조직 이름 옆에 Grant access 버튼이 나타나요. 이 버튼이 나타나지 않는다면 애플리케이션 접근 권한을 수동으로 부여해야 해요.

Docker Hub에 GitHub 조직 접근 권한을 수동으로 부여하려면:

  1. 위의 지침을 사용해 사용자 계정을 연결해요.
  2. GitHub Account settings에서 왼쪽 아래의 Organization settings 섹션을 찾아요.
  3. Docker Hub에 접근 권한을 주려는 조직을 선택해요.
  4. Third-party access 를 선택해요. 페이지에 타사 애플리케이션 목록과 접근 상태가 표시돼요.
  5. Docker Hub Builder 옆의 연필 아이콘을 선택해요.
  6. 조직 옆의 Grant access 를 선택해요.

GitHub 조직의 접근 권한 철회

조직의 GitHub 저장소에 대한 Docker Hub 접근 권한을 철회하려면:

  1. GitHub Account settings에서 왼쪽 아래의 Organization settings 섹션을 찾아요.
  2. Docker Hub 접근 권한을 철회하려는 조직을 선택해요.
  3. Organization Profile 메뉴에서 Third-party access 를 선택해요. 페이지에 타사 애플리케이션 목록과 접근 상태가 표시돼요.
  4. Docker Hub Builder 옆의 연필 아이콘을 선택해요.
  5. 다음 페이지에서 Deny access 를 선택해요.

GitHub 사용자 계정 연결 해제

GitHub 계정에 대한 Docker Hub 접근 권한을 철회하려면 Docker Hub와 GitHub 계정 양쪽 모두에서 연결을 해제해야 해요.

  1. My Hub > Settings > Linked accounts 를 선택해요.
  2. 제거하려는 소스 제공자 옆의 Unlink provider 를 선택해요.
  3. GitHub 계정의 Settings 페이지로 이동해요.
  4. 왼쪽 탐색 막대에서 Applications 를 선택해요.
  5. Docker Hub Builder 애플리케이션 오른쪽의 ... 메뉴를 선택하고 Revoke 를 선택해요.

참고: 자동 빌드 소스로 구성된 각 저장소에는 저장소의 변경 사항을 Docker Hub에 알려주는 웹훅이 포함돼 있어요. 소스 코드 제공자에 대한 접근 권한을 철회해도 이 웹훅은 자동으로 제거되지 않아요.

Bitbucket 사용자 계정 연결하기

  1. Docker ID를 사용해 Docker Hub에 로그인해요.
  2. My Hub > Settings > Linked accounts 를 선택해요.
  3. 연결하려는 소스 제공자에 대해 Link provider 를 선택해요.
  4. 필요하다면 Bitbucket에 로그인해요.
  5. 나타나는 페이지에서 Grant access 를 선택해요.

Bitbucket 사용자 계정 연결 해제

Bitbucket 계정에 대한 Docker Hub 접근 권한을 영구적으로 철회하려면 Docker Hub에서 연결을 해제하고 Bitbucket 계정에서 권한 부여를 철회해야 해요.

  1. Docker Hub에 로그인해요.
  2. My Hub > Settings > Linked accounts 를 선택해요.
  3. 제거하려는 소스 제공자 옆의 Unlink provider 를 선택해요.

중요: Docker Hub에서 계정 연결을 해제한 후에도 Bitbucket 쪽에서 권한 부여를 철회해야 해요.

Bitbucket 계정에서 권한 부여를 철회하려면:

  1. Bitbucket 계정으로 이동해 Bitbucket settings 로 이동해요.
  2. 나타나는 페이지에서 OAuth 를 선택해요.
  3. Docker Hub 줄 옆의 Revoke 를 선택해요.

참고: 자동 빌드 소스로 구성된 각 저장소에는 저장소의 변경 사항을 Docker Hub에 알려주는 웹훅이 포함돼 있어요. 소스 코드 제공자에 대한 접근 권한을 철회해도 이 웹훅은 자동으로 제거되지 않아요.

더 알아보기 (Learn more)