从 Azure DevOps 持续部署到我的本地 IIS

从 Azure DevOps 持续部署到我的本地 IIS

我在 Azure Devops 上创建了项目和存储库。存储库是 IIS 上 coldfusion 部署中 wwwroot 文件夹的副本,该文件夹位于本地服务器上。我不明白如何设置将存储库中的提交复制到本地服务器的管道。

答案1

您首先需要确保 Azure 管道可以到达您的服务器或设置自托管代理。然后,您可以创建一个触发器,当完成拉取请求或合并到例如您的主分支时,管道将运行并创建工件和 PowerShell 脚本,该脚本会将其复制到您的服务器。或者只是构建管道中的上传任务。

这是一个在托管的 ado 代理上运行的示例管道。

trigger:
- '*'  # Trigger the pipeline on all branches, you can customize this as needed

pr:
- '*'  # Trigger the pipeline on all pull requests

pool:
  name: 'NameOfYourSelfHostedAgentPool'  # Replace with the name of your agent pool
  demands:
  - agent.os -equals Windows_NT  # Optional: Ensure it runs on Windows-based agents

steps:
- script: |
    # Your build steps here (e.g., compile, test)
  displayName: 'Build and Test'

- script: |
    # Copy files to the remote server using PowerShell
    $sourcePath = "$(System.DefaultWorkingDirectory)/path/to/source/files"
    $destinationPath = "\\remote-server\destination\path"

    Copy-Item -Path $sourcePath -Destination $destinationPath -Recurse -Force
  displayName: 'Copy Files to Remote Server'

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: |
      # Additional tasks or scripts to run on the remote server (if needed)
  displayName: 'Additional Remote Server Tasks'

在此配置中:

  1. pool部分中,指定自托管代理池的名称(name: 'NameOfYourSelfHostedAgentPool')。您应该将其替换'NameOfYourSelfHostedAgentPool'为代理池的实际名称。

  2. 您也可以使用该demands部分来指定管道应在其上运行的代理的条件。在上面的示例中,它确保代理正在运行 Windows 操作系统。请根据您的代理设置需要对此进行调整。

  3. 管道配置的其余部分与前面的示例保持相同。

确保您已在本地服务器上设置并注册了自托管代理,并且它与 YAML 配置中指定的代理池相关联。代理应处于在线状态,并且能够运行基于 Windows 的任务,例如 PowerShell 脚本。

我不会复制提交,而是在拉取请求之后,这样你就可以选择让某人验证更改或添加自动测试

相关内容