我正在尝试使用 AzureDevOps 中的 CICD 将 JFROG Artifactory 与 Azure Web 应用程序集成。所以工作流程会是这样的
- 用户将代码推送到 github
- Azure DevOps 运行 CI 并将 Artifactory/代码发送到 JFROG Artifactory
- JFROG 更新 Azure Web App 上的应用程序
该应用程序全部采用 C# 编写。我已经设法将其与 AKS 集成,但找不到将 JFROG 与 Azure 应用程序集成的教程或指南。有什么想法吗?
最佳答案
如上篇文章所述,这可以通过在 Azure DevOps 组织中安装 JFrog Artifactory 扩展来实现,但在管道中,您将需要上传 (ArtifactoryUpload) 和下载 (ArtifactoryDownload) 任务。基本上,您将执行以下操作:
- task: DotNetCoreCLI@2
displayName: Build WebApp
inputs:
projects: '**/*.csproj'
arguments: '--configuration Release --no-restore'
- task: ArtifactoryGenericUpload@2
displayName: Publish webapp
inputs:
artifactoryService: 'artifactory'
specSource: 'taskConfiguration'
fileSpec: |
{
"files": [
{
"pattern": "$(Build.ArtifactStagingDirectory)/$(Build.BuildNumber)/*.zip",
"target": "$(artifactory)/$(Build.BuildNumber)"
}
]
}
collectBuildInfo: false
buildName: '$(Build.DefinitionName)'
buildNumber: '$(Build.BuildNumber)'
failNoOp: true
- task: ArtifactoryGenericDownload@3
displayName: Download artifact
inputs:
connection: 'artifactory'
specSource: 'taskConfiguration'
fileSpec: |
{
"files": [
{
"pattern": "$(artifactory)/$(Build.BuildNumber)/*.zip",
"target": "$(Build.ArtifactStagingDirectory)/"
}
]
}
failNoOp: true
- task: AzureRmWebAppDeployment@4
displayName: Deploy AppService
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'Azure Subscription'
appType: 'webAppLinux'
WebAppName: 'webapp'
packageForLinux: '$(Build.ArtifactStagingDirectory)/$(Build.BuildNumber)/webapp.zip'
关于azure - 将 JFROG Artifactory 与 Azure Web App 和 Azure DevOps 管道集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71234262/