Skip to main content

리포지토리를 패키지에 연결

GitHub의 패키지에 리포지토리를 연결할 수 있습니다.

개인 계정 또는 조직으로 범위가 지정된 패키지를 게시하는 경우 패키지가 기본적으로 리포지토리에 연결되지 않습니다. 패키지를 리포지토리에 연결하면 패키지의 방문 페이지에 README와 같은 리포지토리의 정보와 링크가 표시됩니다. 패키지가 연결된 리포지토리에서 액세스 권한을 상속하도록 선택할 수도 있습니다. 자세한 내용은 "패키지의 액세스 제어 및 표시 여부 구성"을(를) 참조하세요.

GitHub에서 리포지토리를 사용자 범위 패키지에 연결

  1. GitHub에서 개인 계정의 기본 페이지로 이동합니다.

  2. GitHub의 오른쪽 위 모서리에서 프로필 사진을 클릭하고 프로필을 클릭합니다.

    @octocat 프로필 사진의 드롭다운 메뉴 스크린샷입니다. "프로필"은 진한 주황색으로 표시됩니다.

  3. 프로필 페이지의 헤더에서 패키지 탭을 클릭합니다.

  4. 관리하려는 패키지의 이름을 검색한 후 그 이름을 클릭합니다.

  5. 패키지 버전 아래에 있는 리포지토리 연결을 클릭합니다.

  6. 패키지에 연결할 리포지토리를 선택한 다음 리포지토리 연결을 클릭합니다.

GitHub에서 리포지토리를 조직 범위 패키지에 연결

  1. GitHub에서 조직의 기본 페이지로 이동합니다.

  2. 조직 이름에서 패키지 탭을 클릭합니다.

    @octo-org의 프로필 페이지 스크린샷. "패키지" 탭이 주황색 윤곽선으로 강조 표시됩니다.

  3. 관리하려는 패키지의 이름을 검색한 후 그 이름을 클릭합니다.

  4. 패키지 버전 아래에 있는 리포지토리 연결을 클릭합니다.

  5. 패키지에 연결할 리포지토리를 선택한 다음 리포지토리 연결을 클릭합니다.

명령줄을 사용하여 리포지토리를 컨테이너 이미지에 연결

Note

Container registry는 현재 GitHub Enterprise Server의 베타 버전이며 변경될 수 있습니다.

GitHub Packages 및 하위 도메인 격리를 모두 사용하도록 설정해야 Container registry를 사용할 수 있습니다. 자세한 내용은 "컨테이너 레지스트리 작업"을(를) 참조하세요.

  1. Dockerfile에서 이 줄을 추가하고 HOSTNAME, OWNERREPO를 사용자 세부 정보로 바꿉니다.

    LABEL org.opencontainers.image.source=https://HOSTNAME/OWNER/REPO
    

    예를 들어 사용자 octocat이며 my-repo를 소유한 경우. GitHub Enterprise Server 인스턴스 호스트 이름이 github.companyname.com이면 이 줄을 Dockerfile에 추가해야 합니다.

    LABEL org.opencontainers.image.source=https://containers.github.companyname.com/octocat/my-repo
    

    자세한 내용은 공식 Docker 설명서의 “레이블”과 opencontainers/image-spec 리포지토리의 “미리 정의된 주석 키”를 참조하세요.

  2. 컨테이너 이미지를 빌드합니다. 다음은 현재 디렉터리의 Dockerfile에서 이미지를 빌드하고 이미지 이름 hello_docker를 할당하는 예시입니다.

    docker build -t hello_docker .
    
  3. 원하는 경우 방금 만든 Docker 이미지의 세부 정보를 검토합니다.

    $ docker images
    > REPOSITORY          TAG         IMAGE ID       CREATED         SIZE
    > hello_docker        latest      142e665b1faa   5 seconds ago   125MB
    > redis               latest      afb5e116cac0   3 months ago    111MB
    > alpine              latest      a6215f271958   5 months ago    5.29MB
    
  4. Docker 이미지에 이름 및 호스팅 대상을 할당합니다.

    docker tag IMAGE_NAME containers.HOSTNAME/NAMESPACE/NEW_IMAGE_NAME:TAG
    

    NAMESPACE를 패키지의 범위로 지정할 개인 계정 또는 조직의 이름으로 바꿉니다.

    예시:

    docker tag 38f737a91f39 containers.github.companyname.com/octocat/hello_docker:latest
    
  5. 아직 인증하지 않은 경우 Container registry에 인증합니다. 자세한 내용은 "컨테이너 레지스트리 작업"을(를) 참조하세요.

    $ echo $CR_PAT | docker login containers.HOSTNAME -u USERNAME --password-stdin
    > Login Succeeded
    
  6. 컨테이너 이미지를 Container registry에 푸시합니다.

    docker push containers.HOSTNAME/NAMESPACE/IMAGE-NAME:TAG
    

    예시:

    docker push containers.github.companyname.com/octocat/hello_docker:latest
    

GitHub의 패키지에서 리포지토리 연결 해제

Note

리포지토리에서 패키지를 연결 해제하면 패키지 방문 페이지에서 리포지토리 정보가 제거되고 패키지가 리포지토리에서 액세스 권한을 상속하는지 여부에 따라 액세스 패턴에 영향을 줄 수 있습니다. 자세한 내용은 "패키지의 액세스 제어 및 표시 여부 구성" 항목을 참조하세요. 이 동작은 "GitHub 패키지에 대한 사용 권한 정보"에 설명된 대로 Apache Maven 패키지에는 적용되지 않습니다.

  1. GitHub에서 연결을 해제하려는 패키지의 설정 페이지로 이동합니다.

  2. 패키지 설정 페이지에 리포지토리 원본 섹션이 표시됩니다. 이 섹션이 없으면 패키지가 현재 리포지토리에 연결되지 않습니다.

  3. 리포지토리 원본 섹션의 오른쪽 위 모서리에 있는 휴지통 아이콘을 클릭합니다.

리포지토리 원본 섹션이 있지만 휴지통 아이콘이 없을 수 있습니다. 이는 리포지토리 원본이 패키지된 코드의 일부로 정의되었기 때문입니다. 즉 package.json, 파일, .gemspec 파일은 실제로 GitHub의 리포지토리에 연결되지 않습니다. 패키지를 리포지토리에 연결하려면 위의 섹션의 단계를 따라야 합니다.

  1. 패키지에서 대화 상자와 리포지토리의 연결을 해제할지 확인합니다.

패키지를 다른 리포지토리로 마이그레이션

현재 리포지토리에 연결된 패키지가 있고 다른 리포지토리에 연결하려는 경우 현재 리포지토리에서 패키지를 연결 해제하고 새 리포지토리에 연결하여 수행할 수 있습니다.

  1. 연결을 해제하는 단계에 따라 "GitHub의 패키지에서 리포지토리 연결 끊기"를 참조하세요.
  2. 패키지를 새 리포지토리에 연결하는 단계에 따라 "GitHub의 조직 범위 패키지에 리포지토리 연결" 또는 "GitHub의 사용자 범위 패키지에 리포지토리 연결"을 참조하세요.