Azure管道没有部署在我的onprem环境目标上,而是部署在Azure环境目标上

xjreopfe  于 2023-03-09  发布在  其他
关注(0)|答案(2)|浏览(194)

下面是我用来构建和部署管道的配置:

stages:
- stage: BuildAndPush
  displayName: Build Docker Image
  pool:
    vmImage: 'ubuntu-latest'
  [...]
    
- stage: Deployment
  displayName: Deployment
  condition: succeeded()
  jobs:
  - deployment:
    displayName: Deploy on ${{variables.environment}} environment
    environment: ${{variables.environment}}
    strategy: 
      runOnce:
        deploy:
          steps:
          - task: Bash@3
            displayName: List Artifacts
            inputs:
              targetType: 'inline'
              script: echo "HOSTNAME= $HOSTNAME"

关于我的环境,我的资源从未部署:
第一节第一节第一节第一节第一次
我希望我的Deploymment stage直接在我的onprem VM上运行,但它没有。我如何更改此行为?因为今天所有部署管道都在托管的Azure VM上运行。

6jjcrrmo

6jjcrrmo1#

也许你正在寻找下面的解决方案,
如果阶段需要在内部部署PC中运行,则首先需要在Azure DevOps中添加自托管代理(这些代理由客户创建和管理),请参阅以下链接中的说明https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/v2-windows?view=azure-devops
添加自托管代理后,在stage中定义池,

stage: Deployment
  displayName: Deployment
  condition: succeeded()
  jobs:
  - deployment:
    displayName: Deploy on ${{variables.environment}} environment
    environment: ${{variables.environment}}
    **pool:
      vmImage: 'Your-Agent-Name'**
    strategy: 
      runOnce:
        deploy:
          steps:
          - task: Bash@3
            displayName: List Artifacts
            inputs:
              targetType: 'inline'
              script: echo "HOSTNAME= $HOSTNAME"
qlvxas9a

qlvxas9a2#

最好在Azure DevOps中创建自托管代理(Windows或Linux)。自托管代理基本上是用于运行管道的生成计算机。请在YAML管道中指定自托管代理。
注意:如果您正在构建Docker映像,则需要在代理上安装Docker。
步骤:

  • 转到Azure DevOps上的项目设置,在管道部分中创建自托管代理池。
  • 在代理池中,单击新建代理以创建新代理。(选择Windows、Linux或Mac)。
  • 此外,在代理中安装Docker
  • 创建代理后,在管道中指定代理池名称

相关问题