Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Azure Artifacts에서 업스트림 원본을 사용하면 단일 피드에서 모든 애플리케이션 종속성을 관리할 수 있습니다. NuGet.org 또는 npmjs.com 같은 퍼블릭 레지스트리에서 패키지를 사용하는 것을 간소화하는 동시에 중단 또는 손상된 패키지에 대한 보호를 제공합니다. 사용자 고유의 패키지를 동일한 피드에 게시하고 한 위치에서 모든 종속성을 관리할 수도 있습니다.
이 자습서에서는 피드에서 업스트림 원본을 사용하도록 설정하고 NuGet.org 또는 npmjs.com 같은 공용 레지스트리에서 패키지를 사용하는 단계를 안내합니다.
필수 조건
피드 만들기 및 업스트림 원본 사용
Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.
아티팩트를 선택한 다음 피드 만들기를 선택하여 새 피드를 만듭니다.
피드의 이름을 제공하고, 표시 유형 및 범위를 선택하고, 공용 공용 원본에서 패키지 포함 확인란을 선택하여 업스트림 원본을 사용하도록 설정합니다.
완료되면 만들기를 선택합니다.
중요합니다
다른 조직의 피드를 업스트림 원본으로 추가하려면, 대상 피드 소유자가 피드 설정로 이동한 후 지정된 보기에 대해 오른쪽의 줄임표 버튼을 선택하여 >하고, Microsoft Entra 테넌트와 관련된 조직의 모든 피드 및 사용자와 대상 보기를 공유해야 합니다.
피드를 사용하여 인증
이제 피드를 만들었으므로 사용 중인 기술에 따라 적절한 탭을 선택하고 지침에 따라 구성 파일을 설정하고 피드에 연결합니다.
Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.
아티팩트을 선택하고, 드롭다운 메뉴에서 피드를 선택한 다음, 피드에 연결을 선택합니다.
왼쪽 탐색 창에서 npm 을 선택하고 프로젝트 설정 섹션의 제공된 지침에 따라 구성 파일을 설정합니다.
.npmrc 파일이 아직 없는 경우 프로젝트의 루트(package.json동일한 폴더)에 새 파일을 만듭니다. 새 .npmrc 파일을 열고 제공된 코드 조각에 붙여넣습니다.
Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.
아티팩트을 선택하고, 드롭다운 메뉴에서 피드를 선택한 다음, 피드에 연결을 선택합니다.
왼쪽 탐색 창에서 NuGet.exe 선택한 다음 프로젝트 설정 섹션에 제공된 XML 조각을 복사합니다.
프로젝트의 루트에 새 nuget.config 파일을 만들고 이전 단계에서 복사한 XML 코드 조각에 붙여넣습니다.
Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.
아티팩트을 선택하고, 드롭다운 메뉴에서 피드를 선택한 다음, 피드에 연결을 선택합니다.
왼쪽 탐색 창에서 pip 를 선택합니다.
아직 수행하지 않은 경우 가상 환경을 만듭니다.
pip.ini (Windows) 또는 pip.conf(Mac/Linux) 파일을 virtualenv에 추가하고 프로젝트 설정 섹션에 제공된 코드 조각에 붙여넣습니다.
Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.
아티팩트을 선택하고, 드롭다운 메뉴에서 피드를 선택한 다음, 피드에 연결을 선택합니다.
왼쪽 탐색 창에서 Maven 을 선택합니다.
프로젝트 설정 섹션에서 제공된 코드 조각을 <repositories> 및 <distributionManagement> 섹션에 pom.xml에 추가합니다. 파일은 다음과 유사하게 표시됩니다.
<repository>
<id>[FEED-NAME]</id>
<url>https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
제공된 <server> 코드 조각을 settings.xml 파일에 붙여넣습니다. 파일은 다음과 비슷해야 합니다.
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
패키징> 범위를 사용하여 개인 액세스 토큰을 만들고 개인 액세스 토큰을 <password> 파일의 태그에 붙여넣습니다.
Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.
아티팩트을 선택하고, 드롭다운 메뉴에서 피드를 선택한 다음, 피드에 연결을 선택합니다.
왼쪽 탐색 창에서 Gradle 을 선택합니다.
Project 설치 섹션에 제공된 코드 조각을 build.gradle 파일의 리포지토리 및 게시 섹션에 추가합니다. 파일은 다음과 같아야 합니다.
maven {
url 'https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1'
name '[FEED-NAME]'
authentication {
basic(BasicAuthentication)
}
}
제공된 <server> 코드 조각을 settings.xml 파일에 붙여넣습니다. 파일은 다음과 같아야 합니다.
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
패키징개인용 액세스 토큰을 만듭니다. settings.xml<password> 태그에 개인 액세스 토큰을 붙여넣습니다.
Azure DevOps 조직에 로그인하고 프로젝트로 이동합니다.
아티팩트을 선택하고, 드롭다운 메뉴에서 피드를 선택한 다음, 피드에 연결을 선택합니다.
왼쪽 탐색 창에서 Cargo 를 선택합니다.
프로젝트 설정 섹션에 제공된 코드 조각을 원본 리포지토리의 cargo/config.toml 파일에 추가합니다.
config.toml 파일은 다음과 유사합니다.
[registries]
FEED_NAME = { index = "sparse+https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/Cargo/index/" }
```
프로젝트 설정 섹션에 제공된 두 번째 코드 조각을 cargo/config.toml 파일에 추가하여 crates.io 소스를 피드로 바꿉니다. 파일은 다음과 같아야 합니다.
[source.crates-io]
replace-with = "FEED_NAME"
자격 증명 공급자 구성
레지스트리에 로그인
패키지 복원
이제 업스트림 원본을 사용하도록 설정하고 피드로 인증했으므로 패키지 유형에 따라 적절한 탭을 선택하고 지침에 따라 퍼블릭 레지스트리의 패키지를 Azure Artifacts 피드로 복원합니다.
프로젝트에서 node_modules 폴더를 제거합니다.
명령 프롬프트 창을 열고 다음 명령을 실행하여 패키지를 복원합니다. 완료되면 피드에 업스트림에서 설치된 패키지의 저장된 복사본이 있어야 합니다.
npm install --force
참고
플래그는 --force 로컬 복사본이 있는 경우에도 패키지를 원격 원본에서 끌어오도록 합니다.
로컬 캐시를 지웁다.
nuget locals -clear all
명령 프롬프트 창을 열고 다음 명령을 실행하여 패키지를 복원합니다. 완료되면 피드에 업스트림에서 설치된 패키지의 저장된 복사본이 있어야 합니다.
nuget.exe restore
관련 콘텐츠