semantic-release를 사용하여 GitLab 패키지 레지스트리에 npm 패키지 게시
semantic-release를 사용하여 GitLab 패키지 레지스트리에 npm 패키지 게시에 대해 설명합니다.
이 가이드는 semantic-release 를 사용하여 GitLab 패키지 레지스트리 에 npm 패키지를 자동으로 게시하는 방법을 보여줍니다. 완전한 예시 소스 를 보거나 포크할 수도 있습니다. 모듈 초기화 # 터미널을 열고 프로젝트 리포지터리로 이동합니다. npm init 을 실행합니다. 패키지 레지스트리의 이름 지정 규칙 에 따라 모듈 이름을 지정합니다. 예를 들어 프로젝트 경로가 gitlab-examples/semantic-release-npm 인 경우 모듈 이름을 @gitlab-examples/semantic-release-npm 으로 지정합니다. 다음 npm 패키지를 설치합니다: npm install semantic-release @semantic-release/git @semantic-release/gitlab @semantic-release/npm --save-dev 모듈의 package.json 에 다음 속성을 추가합니다: { "scripts" : { "semantic-release" : "semantic-release" } , "publishConfig" : { "access" : "public" } , "files" : [ <path(s) to files here> ] } 게시된 모듈에 포함해야 하는 모든 파일을 선택하는 glob 패턴으로 files 키를 업데이트합니다. files 에 대한 자세한 내용은 npm 문서 에서 확인할 수 있습니다. node_modules 커밋을 방지하기 위해 프로젝트에 .gitignore 파일을 추가합니다: node_modules 파이프라인 구성 # 다음 내용으로 .gitlab-ci.yml 을 만듭니다: default: image: node:latest before_script: - npm ci --cache .npm --prefer-offline - | { echo "@${CI_PROJECT_ROOT_NAMESPACE}:registry=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/npm/" echo "${CI_API_V4_URL#https?}/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=\${CI_JOB_TOKEN}" } | tee -a .npmrc cache: key: ${CI_COMMIT_REF_SLUG} paths: - .npm/ workflow: rules: - if: $CI_COMMIT_BRANCH variables: NPM_TOKEN: ${CI_JOB_TOKEN} stages: - release publish: stage: release script: - npm run semantic-release rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH 이 예시는 semantic-release 를 실행하는 단일 job publish 로 파이프라인을 구성합니다. semantic-release 라이브러리는 npm 패키지의 새 버전을 게시하고
