首页 > 解决方案 > 使用 azure ci cd 本地部署 java 代码

问题描述

我想将我的应用程序的 war 文件部署到本地 Linux 机器上。我正在使用 Azure CI/CD yaml 管道进行构建和发布。

作为 CI 的一部分,我正在生成工件并将其放置在放置位置。

请参阅下面的 azure-pipeline.yml 代码:

trigger:
- main

stages: 
  - stage: Build
    jobs:
      - job: BuildWebApp
        pool:
          name: LinuxAgent
          demands: maven

        steps:
        - task: Maven@3
          displayName: 'Maven pom.xml'
          inputs:
            mavenPomFile: 'pom.xml'

        - task: CopyFiles@2
          displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
          inputs:
            SourceFolder: '$(system.defaultworkingdirectory)'
            Contents: '**/*.jar'
            TargetFolder: '$(build.artifactstagingdirectory)'
          condition: succeededOrFailed()

        - task: PublishBuildArtifacts@1
          displayName: 'Publish Artifact: Artfifact'
          inputs:
            PathtoPublish: '$(build.artifactstagingdirectory)'
          condition: succeededOrFailed()
          
  - stage: DeployDev
    displayName: 'Deploy to Dev'
    jobs:
      - deployment:
        pool:          
          name: LinuxAgent
        environment: 'Dev'
        strategy:
         runOnce:
           deploy:
             steps:
             - task: CopyFiles@2
               inputs:
                 SourceFolder: '$(System.DefaultWorkingDirectory)/_maven-modular.git/drop/module1/'
                 Contents: '**'
                 TargetFolder: '/home/test-user/azure-agents/test'
             

           

如果这是正确的方法,谁能指导我?

错误:##[错误]未处理:未找到 SourceFolder:/home/test-user/azure-agents/_work/19/s/_maven-modular.git/drop/module1/target

标签: azureazure-devopscontinuous-integrationcontinuous-deployment

解决方案


正如您所询问的正确方法 - 您应该使用发布管道而不是构建管道进行部署。由于您已经在 CI 管道中发布了工件,因此您可以轻松地在发布管道中使用已发布的工件。


推荐阅读