InfoGrab Docs

모노레포 패키지 관리 워크플로우

요약

프로젝트와 하위 프로젝트에 패키지를 게시하려면 각 패키지에 대한 구성 파일을 추가해야 합니다. 다음 예시는 npm을 사용하여 프로젝트와 하위 프로젝트에 대한 패키지를 게시하는 방법을 보여줍니다. 이 예시에서 MyProject는 상위 프로젝트입니다.

모노레포 프로젝트를 패키지 레지스트리로 사용하여 여러 프로젝트에 패키지를 게시합니다.

프로젝트 및 하위 프로젝트에 패키지 게시#

프로젝트와 하위 프로젝트에 패키지를 게시하려면 각 패키지에 대한 구성 파일을 추가해야 합니다. 특정 패키지 관리자에 대한 패키지 구성 방법을 알아보려면 지원되는 패키지 관리자를 참조하세요.

다음 예시는 npm을 사용하여 프로젝트와 하위 프로젝트에 대한 패키지를 게시하는 방법을 보여줍니다.

전제 조건:

이 예시에서 MyProject는 상위 프로젝트입니다. components 디렉토리에 ChildProject라는 하위 프로젝트가 포함되어 있습니다:

MyProject/
  |- src/
  |   |- components/
  |       |- ChildProject/
  |- package.json

MyProject에 대한 패키지를 게시하려면:

  1. MyProject 디렉토리로 이동합니다.

  2. npm init을 실행하여 프로젝트를 초기화합니다. 패키지 이름이 명명 규칙을 따르는지 확인합니다.

  3. .npmrc 파일을 만듭니다. 레지스트리 URL과 프로젝트 엔드포인트를 포함합니다. 예를 들어:

    //gitlab.example.com/api/v4/projects/<project_id>/packages/npm/:_authToken="${NPM_TOKEN}"
    @scope:registry=https://gitlab.example.com/api/v4/projects/<project_id>/packages/npm/
    
  4. 명령줄에서 패키지를 게시합니다. <token>을 개인 접근 토큰으로 교체합니다:

    NPM_TOKEN=<token> npm publish
    
Warning

GitLab 토큰(또는 다른 토큰)을 .npmrc 파일이나 저장소에 커밋할 수 있는 다른 파일에 직접 하드코딩하지 마세요.

프로젝트의 패키지 레지스트리에 MyProject에 대한 패키지가 게시된 것을 볼 수 있습니다.

ChildProject에 패키지를 게시하려면 동일한 단계를 따릅니다. .npmrc 파일의 내용은 MyProject에 추가한 것과 동일할 수 있습니다.

ChildProject에 대한 패키지를 게시하면 프로젝트의 패키지 레지스트리에 해당 패키지가 표시됩니다.

다른 프로젝트에 패키지 게시#

패키지는 GitLab의 프로젝트와 연결됩니다. 그러나 패키지는 해당 프로젝트의 코드와 연결되지 않습니다.

예를 들어 npm 또는 Maven에 대한 패키지를 구성할 때 project_id는 패키지가 게시될 레지스트리 URL을 설정합니다.

예를 들어:

  • npm: https://gitlab.example.com/api/v4/projects/<project_id>/packages/npm/
  • maven: https://gitlab.example.com/api/v4/projects/<project_id>/packages/maven/

레지스트리 URL의 project_id를 다른 프로젝트로 변경하면 해당 프로젝트에 패키지가 게시됩니다.

project_id를 변경함으로써 코드와 별도로 여러 패키지를 하나의 프로젝트에 게시할 수 있습니다. 자세한 내용은 하나의 GitLab 프로젝트에 모든 패키지 저장을 참조하세요.

모노레포 패키지 관리 워크플로우

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

프로젝트와 하위 프로젝트에 패키지를 게시하려면 각 패키지에 대한 구성 파일을 추가해야 합니다. 다음 예시는 npm을 사용하여 프로젝트와 하위 프로젝트에 대한 패키지를 게시하는 방법을 보여줍니다. 이 예시에서 MyProject는 상위 프로젝트입니다.

모노레포 프로젝트를 패키지 레지스트리로 사용하여 여러 프로젝트에 패키지를 게시합니다.

프로젝트 및 하위 프로젝트에 패키지 게시#

프로젝트와 하위 프로젝트에 패키지를 게시하려면 각 패키지에 대한 구성 파일을 추가해야 합니다. 특정 패키지 관리자에 대한 패키지 구성 방법을 알아보려면 지원되는 패키지 관리자를 참조하세요.

다음 예시는 npm을 사용하여 프로젝트와 하위 프로젝트에 대한 패키지를 게시하는 방법을 보여줍니다.

전제 조건:

이 예시에서 MyProject는 상위 프로젝트입니다. components 디렉토리에 ChildProject라는 하위 프로젝트가 포함되어 있습니다:

MyProject/
  |- src/
  |   |- components/
  |       |- ChildProject/
  |- package.json

MyProject에 대한 패키지를 게시하려면:

  1. MyProject 디렉토리로 이동합니다.

  2. npm init을 실행하여 프로젝트를 초기화합니다. 패키지 이름이 명명 규칙을 따르는지 확인합니다.

  3. .npmrc 파일을 만듭니다. 레지스트리 URL과 프로젝트 엔드포인트를 포함합니다. 예를 들어:

    //gitlab.example.com/api/v4/projects/<project_id>/packages/npm/:_authToken="${NPM_TOKEN}"
    @scope:registry=https://gitlab.example.com/api/v4/projects/<project_id>/packages/npm/
    
  4. 명령줄에서 패키지를 게시합니다. <token>을 개인 접근 토큰으로 교체합니다:

    NPM_TOKEN=<token> npm publish
    
Warning

GitLab 토큰(또는 다른 토큰)을 .npmrc 파일이나 저장소에 커밋할 수 있는 다른 파일에 직접 하드코딩하지 마세요.

프로젝트의 패키지 레지스트리에 MyProject에 대한 패키지가 게시된 것을 볼 수 있습니다.

ChildProject에 패키지를 게시하려면 동일한 단계를 따릅니다. .npmrc 파일의 내용은 MyProject에 추가한 것과 동일할 수 있습니다.

ChildProject에 대한 패키지를 게시하면 프로젝트의 패키지 레지스트리에 해당 패키지가 표시됩니다.

다른 프로젝트에 패키지 게시#

패키지는 GitLab의 프로젝트와 연결됩니다. 그러나 패키지는 해당 프로젝트의 코드와 연결되지 않습니다.

예를 들어 npm 또는 Maven에 대한 패키지를 구성할 때 project_id는 패키지가 게시될 레지스트리 URL을 설정합니다.

예를 들어:

  • npm: https://gitlab.example.com/api/v4/projects/<project_id>/packages/npm/
  • maven: https://gitlab.example.com/api/v4/projects/<project_id>/packages/maven/

레지스트리 URL의 project_id를 다른 프로젝트로 변경하면 해당 프로젝트에 패키지가 게시됩니다.

project_id를 변경함으로써 코드와 별도로 여러 패키지를 하나의 프로젝트에 게시할 수 있습니다. 자세한 내용은 하나의 GitLab 프로젝트에 모든 패키지 저장을 참조하세요.