Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.
GitHub AE는 현재 제한된 릴리스에 있습니다.

GitHub Packages 빠른 시작

GitHub Actions를 사용해 GitHub Packages에 게시합니다.

소개

이 가이드에서는 GitHub Actions 워크플로를 만들어 코드를 테스트한 다음 GitHub Packages에 게시합니다.

패키지 게시

  1. GitHub에 새 리포지토리를 만들고 Node에 .gitignore를 추가합니다. 자세한 내용은 "새 리포지토리 만들기"을 참조하세요.

  2. 로컬 컴퓨터에 리포지토리를 복제합니다.

    $ git clone https://YOUR-HOSTNAME/YOUR-USERNAME/YOUR-REPOSITORY.git
    $ cd YOUR-REPOSITORY
  3. index.js 파일을 만들고 “Hello world!”라는 기본 알림을 추가합니다.

    JavaScript
    console.log("Hello, World!");
  4. npm init을 사용하여 npm 패키지를 초기화합니다. 패키지 초기화 마법사에서 @YOUR-USERNAME/YOUR-REPOSITORY 와 같은 이름의 패키지를 입력하고 테스트 스크립트를 exit 0으로 설정합니다. 그러면 패키지에 대한 정보가 포함된 package.json 파일이 생성됩니다.

    $ npm init
      ...
      package name: @YOUR-USERNAME/YOUR-REPOSITORY
      ...
      test command: exit 0
      ...    
  5. npm install을 실행하여 package-lock.json 파일을 생성한 다음 변경 내용을 GitHub에 푸시합니다.

    $ npm install
    $ git add index.js package.json package-lock.json
    $ git commit -m "initialize npm package"
    $ git push
  6. .github/workflows 디렉터리를 만듭니다. 디렉터리에서 release-package.yml이라는 파일을 만듭니다.

  7. 다음 YAML 콘텐츠를 release-package.yml 파일로 복사하여 YOUR-HOSTNAME을(를) 엔터프라이즈의 이름으로 바꿉니다.

    YAML
    name: Node.js Package
    
    on:
      release:
        types: [created]
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
          - uses: actions/setup-node@v3
            with:
              node-version: 16
          - run: npm ci
          - run: npm test
    
      publish-gpr:
        needs: build
        runs-on: ubuntu-latest
        permissions:
          packages: write
          contents: read
        steps:
          - uses: actions/checkout@v3
          - uses: actions/setup-node@v3
            with:
              node-version: 16
              registry-url: https://npm.YOUR-HOSTNAME.com/
          - run: npm ci
          - run: npm publish
            env:
              NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
  8. 다음 방법 중 하나를 사용하여 패키지를 게시할 scope 및 레지스트리를 npm에 알릴 수 있습니다.

    • 콘텐츠를 사용하여 루트 디렉터리에 파일을 만들어 .npmrc 리포지토리에 대한 npm 구성 파일을 추가합니다.
      @YOUR-USERNAME:registry=https://npm.pkg.github.com
    • package.json 파일을 편집하고 publishConfig 키를 지정합니다.
      "publishConfig": {
         "@YOUR-USERNAME:registry": "https://npm.pkg.github.com"
       }
  9. 변경 내용을 커밋하고 GitHub에 푸시합니다.

    $ git add .github/workflows/release-package.yml
    # Also add the file you created or edited in the previous step.
    $ git add .npmrc or package.json
    $ git commit -m "workflow to publish package"
    $ git push
  10. 만든 워크플로는 리포지토리에 새 릴리스가 만들어질 때마다 실행됩니다. 테스트가 통과하면 패키지가 GitHub Packages에 게시됩니다.

    이를 테스트하려면 리포지토리의 코드 탭으로 이동하여 새 릴리스를 만듭니다. 자세한 내용은 “리포지토리에서 릴리스 관리”를 참조하세요.

게시된 패키지 보기

게시한 모든 패키지를 볼 수 있습니다.

  1. 엔터프라이즈에서 리포지토리의 기본 페이지로 이동합니다. 1. 리포지토리의 오른쪽 사이드바에서 패키지를 클릭합니다. 리포지토리 페이지의 사이드바 스크린샷. "패키지" 섹션은 주황색으로 설명되어 있습니다. 1. 를 검색한 다음 보려는 패키지의 이름을 클릭합니다.

게시된 패키지 설치

이제 패키지를 게시했으므로 전체 프로젝트에서 종속성으로 사용할 수 있습니다. 자세한 내용은 "npm 레지스트리 작업"을 참조하세요.

다음 단계

방금 추가한 기본 워크플로는 리포지토리에 새 릴리스가 만들어질 때마다 실행됩니다. 그러나 이것은 GitHub Packages로 수행할 수 있는 작업의 시작에 불과합니다. 단일 워크플로를 사용하여 여러 레지스트리에 패키지를 게시하고, 병합된 끌어오기 요청과 같은 다른 이벤트에서 실행되도록 워크플로를 트리거하고, 컨테이너를 관리하는 등 여러 작업을 할 수 있습니다.

GitHub Packages와 GitHub Actions를 결합하면 애플리케이션 개발 프로세스의 거의 모든 측면을 자동화할 수 있습니다. 시작할 준비가 되셨나요? GitHub Packages와 GitHub Actions를 사용하여 다음 단계를 수행하는 데 유용한 리소스는 다음과 같습니다.