azure - 将 JFROG Artifactory 与 Azure Web App 和 Azure DevOps 管道集成

标签 azure azure-devops azure-web-app-service artifactory

我正在尝试使用 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/

相关文章:

azure - Terraform - 'Objects have changed outside of Terraform' 用于新的 Azure 资源组

azure - 静默获取 token 失败。调用 AcquireToken azure 部署方法

visual-studio - Visual Studio F5可以将更改发布到azure并打开页面

authentication - Azure Web 应用程序网关身份验证

python - 如何获取当前上下文(登录实体)objectId

Azure DevOps - 比较不同分支的代码覆盖率

json - 在 Azure 数据工厂中发送 JSON 文件

某些存储库的 Azure Devops 权限

azure - 等待事件中的等待时间可以是可变的吗?

azure - 扩展 Azure Active Directory 访问 token 声明