2017-11-26 4 views
0

TFS 2017 git 저장소에서 npm 패키지를 설치할 수 있습니까?TFS 2017 git 저장소에서 Npm install

TFS에서 패키지 관리를 사용할 수있는 가능성이 있음을 알고 있지만 이것이 나를위한 옵션은 아닙니다.

이미 http 및 git + ssh에서 설치를 시도했지만 성공하지는 못했습니다. .npmrc 파일이나 URL에 자격 증명을 저장해야합니까?

나를위한 모범이 될 수 있습니까?

미리 감사드립니다.

답변

1

VSTS를 포함한 TFS 2017 및 이후 버전에서는 Packaging을 사용하여 GTP 저장소에서 설치하는 대신 npm 패키지를 저장하는 것이 좋습니다.

그러나 실제로 GIT를 사용하려면 here 프로토콜 형식 중 하나를 따라야합니다. 토큰에 대한 지식이 필요 없기 때문에 SSH를 사용하는 것이 좋습니다. 그러나 HTTPS와 함께 토큰을 사용하기로 결정했다면 토큰을 package.json에 주입하여 사용자의 repo (불량)에 체크인하지 않도록 사용자 정의 쉘 스크립트를 작성해야합니다.

그냥 키스 로버트슨 [MSFT]을 참조의 솔루션을이 스레드 : npm install build task cannot authenticate to git repo in vsts

STEPS을 SSH를 위해 :

  1. 이 있는지 확인 패키지를 가지고있는 GIT의 REPO 당신 패키지를 설치하려면 패키지의 루트에 package.json이 있어야합니다.
  2. these instructions을 사용하여 공개/비공개 키를 생성하고 을 설치하십시오.
  3. SSH를 사용하여 repo를 복제하십시오. 이 경우 은 클라이언트가 서버가 나타내는 지문을 허용하도록합니다. 당신은 ... 당신의 REPO 복제를위한 SSH URI를 가져 오기 때문에처럼 package.json 의 종속 섹션에 삽입 '설치 NPM'전에
  4. 을이 작업을 수행해야합니다
    "dependencies": { "testproj": "git+ssh://[email protected]:22/DefaultCollection/_git/yourProject" }

중요 : 이는 "git clone ssh://[email protected]:22/DefaultCollection/_git/yourProject"을 실행할 수있는 경우에만 작동합니다. SSH를 통해 저장소를 복제 할 수 없다면 SSH를 통해 NPM을 설치하면 이 작동하지 않을 것입니다. HTTPS에 대한

단계 :

  1. 설치하려는 패키지가있는 GIT의 REPO이 루트에 package.json이 있는지 확인합니다.
  2. 은 다음과 같습니다 것 같은 종속성 섹션 를 추가하고 안전한 환경 변수로 $ {PAT}을 (를) 대체 어떤 쉘 코드 쓰기 PAT
  3. 를 생성합니다.또한 글 아래
    "dependencies": { "testproj": "git+https://${PAT}:[email protected]/DefaultCollection/_git/project" }

참조 :