使用 Azure DevOps 流水线 | AI生成和翻译

Home 2025.03

让我们将这个问题拆解为两部分:使用 Azure DevOps Pipelines编写流水线 YAML 文件。我将为这两部分提供清晰实用的说明。


如何使用 Azure DevOps Pipelines

Azure DevOps Pipelines 是一款 CI/CD(持续集成/持续部署)工具,可自动化代码的构建、测试和部署。以下是入门指南:

1. 项目设置

2. 连接代码库

3. 创建流水线

4. 定义流水线

5. 运行与监控

6. 部署(可选)


如何编写 Azure Pipelines 的 YAML 文件

YAML(YAML Ain’t Markup Language)是一种人类可读的格式,用于定义流水线配置。以下是快速入门:

基础结构

trigger:
  - main  # 当 'main' 分支更新时运行流水线

pool:
  vmImage: 'ubuntu-latest'  # 指定构建代理(例如 Ubuntu、Windows、macOS)

steps:
  - script: echo Hello, world!  # 要运行的简单命令
    displayName: '运行单行脚本'

常用元素

  1. 变量: ```yaml variables: buildConfiguration: ‘Release’ steps:
    • script: echo $(buildConfiguration) # 输出 ‘Release’ ```
  2. 作业(分组步骤): ```yaml jobs:
    • job: Build steps:
      • script: echo 正在构建…
    • job: Test steps:
      • script: echo 正在测试… ```
  3. 任务(预构建操作): ```yaml steps:
    • task: DotNetCoreCLI@2 # 示例:构建 .NET 项目 inputs: command: ‘build’ projects: ‘*/.csproj’ ```
  4. 条件: ```yaml steps:
    • script: echo 仅在 main 分支运行 condition: eq(variables[‘Build.SourceBranch’], ‘refs/heads/main’) ```
  5. 阶段(用于多阶段流水线): ```yaml stages:
    • stage: Build jobs:
      • job: BuildJob steps:
        • script: echo 正在构建…
    • stage: Deploy dependsOn: Build jobs:
      • job: DeployJob steps:
        • script: echo 正在部署… ```

实际示例

以下是一个 Node.js 应用的流水线:

trigger:
  - main

pool:
  vmImage: 'ubuntu-latest'

steps:
  - task: NodeTool@0  # 安装 Node.js
    inputs:
      versionSpec: '16.x'
    displayName: '安装 Node.js'

  - script: |
      npm install
      npm run build
    displayName: '安装依赖并构建'

  - task: CopyFiles@2  # 复制构建产物
    inputs:
      contents: 'dist/**'
      targetFolder: '$(Build.ArtifactStagingDirectory)'

  - task: PublishBuildArtifacts@1  # 发布构建产物
    inputs:
      pathToPublish: '$(Build.ArtifactStagingDirectory)'
      artifactName: 'dist'

YAML 编写技巧


后续步骤

你想深入了解哪个方面?流水线设置、YAML 语法,还是其他内容?


Back Donate