Azure DevOps for JFrog 구성
아티팩트를 업로드하고 다운로드할 JFrog 수 있도록 인스턴스를 구성 Azure DevOps 합니다.
인스턴스에 Azure DevOps 필요한 설정은 다음과 같습니다.
- JFrog Artifactory 플러그인을 설치합니다.
- 프로젝트를 선택하고 다음으로 이동합니다. .
- 새 서비스 연결을 선택하고 설치된 JFrog Artifactory 플러그인을 검색하여 선택한 후 다음을 선택합니다.
- 인스턴스 상세 정보를 입력 JFrog 하고 에 대한 서비스 연결을 생성합니다.JFrog주:사용자 이름 및 암호 필드에는 서버 URL 필드에 입력한 인스턴스에 대한 JFrog 자격 증명이 포함되어야 합니다.
JFrog 에서 Azure DevOps아티팩트 업로드 대상
아티팩트를 업로드하려면 다음을 수행합니다.
- 프로젝트 파이프라인으로 이동합니다.
- 업로드할 스테이지에서 아티팩트를 업로드하기 위한 아티팩토리 일반 업로드 작업을 추가합니다.
- Artifactory 일반 업로드 작업의 경우:
- 에 대해 JFrog생성한 서비스 연결을 선택합니다.
- 사양 필드에서 파일 사양 전체를 입력합니다.
- 빌드 정보 수집 확인란을 선택합니다.
- 빌드 번호 필드에는 매개변수가 포함되어야 합니다.BuildId
- 추가를 선택합니다.
- 빌드 정보를 게시하기 위한 작업을 아티팩토리 게시 빌드 정보를 추가합니다.
- Artifactory 빌드 정보 게시 작업의 경우:
- 에 대해 JFrog생성한 서비스 연결을 선택합니다.
- 빌드 번호 필드에는 매개변수가 포함되어야 합니다.BuildId
- 추가를 선택합니다.
Azure DevOps에서 JFrog로 아티팩트를 업로드하는 샘플 파이프라인
trigger:
- none
pool:
vmImage: ubuntu-latest
variables:
- group: Variable Group
stages:
- stage: upload_artifact
jobs:
- job: 'upload'
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
- task: ArtifactoryGenericUpload@2
inputs:
artifactoryService: 'JFrogCloud'
specSource: 'taskConfiguration'
fileSpec: |
{
"files": [
{
"pattern": "servicenow-app-devops.zip",
"target": "local-repo"
}
]
}
collectBuildInfo: true
buildName: '$(Build.DefinitionName)'
buildNumber: '$(Build.BuildId)'
failNoOp: true'
- task: ArtifactoryPublishBuildInfo@1
inputs:
artifactoryService: 'JFrogCloud'
buildName: '$(Build.DefinitionName)'
buildNumber: '$(Build.BuildId)'
Azure DevOps 에서 아티팩트 JFrog다운로드
아티팩트를 다운로드하려면 다음을 수행합니다.
- 프로젝트 파이프라인으로 이동합니다.
- 다운로드할 스테이지에서 아티팩트 다운로드를 위한 Artifactory Generic Download 작업을 추가합니다.
- 아티팩토리 일반 다운로드 작업의 경우:
- 에 대해 JFrog생성한 서비스 연결을 선택합니다.
- 사양 필드에서 파일 사양 전체를 입력합니다.
- 빌드 정보 수집 확인란을 선택합니다.
- 빌드 번호 필드에는 매개변수가 포함되어야 합니다.BuildId
- 추가를 선택합니다.
- 빌드 정보를 게시하기 위한 작업을 아티팩토리 게시 빌드 정보를 추가합니다.
- Artifactory 빌드 정보 게시 작업의 경우:
- 에 대해 JFrog생성한 서비스 연결을 선택합니다.
- 빌드 번호 필드에는 매개변수가 포함되어야 합니다.BuildId
- 추가를 선택합니다.
Azure DevOps에서 JFrog로 아티팩트를 다운로드하는 샘플 파이프라인
trigger:
- none
pool:
vmImage: ubuntu-latest
variables:
- group: Variable Group
stages:
- stage: download_artifact
jobs:
- job: 'download'
steps:
- task: ArtifactoryGenericDownload@3
inputs:
connection: 'JFrogCloud'
specSource: 'taskConfiguration'
fileSpec: |
{
"files": [
{
"pattern": "local-repo/servicenow-app-devops.zip",
"target": "/tmp/"
}
]
}
collectBuildInfo: true
buildName: '$(Build.DefinitionName)'
buildNumber: '$(Build.BuildId)'
failNoOp: true
- task: ArtifactoryPublishBuildInfo@1
inputs:
artifactoryService: 'JFrogCloud'
buildName: '$(Build.DefinitionName)'
buildNumber: '$(Build.BuildId)'