繁体   English   中英

azure DevOps 流水线 CI/CD

[英]azure DevOps pipeline CI/CD

我正在使用一个开源项目 Magda ( https://magda.io/docs/building-and-running ) 并想制作一个 Azure CI/CD 管道。

对于这个项目,有一些先决条件,比如安装了 sbt + yarn + docker + java。 如何在azure-pipelines.yml文件中指定这些要求。

是否可以在azure-pipelines.yml文件中只编写脚本? 不使用任何工作或任务? 以及它们之间有什么区别(Tasks,Jobs ...)(我目前是从它开始的,所以我没有太多经验)

那是我当前的azure-pipelines.yml文件(如果有问题请告诉我)

# Node.js
# Build a general Node.js project with npm.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript

trigger:
- release

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '10.0.0'
  displayName: 'Install Node.js'

- script: |
    npm install
    npm run build
  displayName: 'npm install and build'


- script: |
    curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
  displayName: 'install Helm '

- script: |
    yarn global add lerna
    yarn global add @gov.au/pancake 
    yarn install
  displayName: 'install lerna & pancake packages'

- script: |
    export NODE_OPTIONS=--max-old-space-size=8192
  displayName: 'set Env Variable '

- script: |
    lerna run build --stream --concurrency=1 --include-dependencies
    lerna run docker-build-local --stream --concurrency=4 --include-filtered-dependencies
 displayName: 'Build lerna '

我建议您阅读此新 Azure 管道用户的关键概念

可以将所有内容放在一个脚本步骤中,但现在您有了逻辑分离,这有助于导航和读取文件,而不是一个非常长的步骤。

在这里,您可以从上述文档中获得一些基础知识:

  • 触发器告诉管道运行。
  • 管道由一个或多个阶段组成。 管道可以部署到一个或多个环境。
  • 阶段是在管道中组织作业的一种方式,每个阶段可以有一个或多个作业。
  • 每个作业在一个代理上运行。 工作也可以是无代理的。
  • 每个代理运行一个包含一个或多个步骤的作业。
  • 步骤可以是任务或脚本,是管道的最小构建块。
  • 任务是执行操作的预打包脚本,例如调用 REST API 或发布构建工件。
  • 工件是运行发布的文件或包的集合。

但我真的推荐你通过它 go。

对于这个项目,有一些先决条件,比如安装了 sbt + yarn + docker + java。 我如何在 azure-pipelines.yml 文件中指定这些要求。

如果您使用的是 Microsoft 托管代理,则无法指定需求

需求和能力仅适用于自托管代理。 使用 Microsoft 托管代理时,您为托管代理提供 select 映像。 您不能将功能与托管代理一起使用。

因此,如果您需要代理程序中没有的东西,您可以安装它并使用新的软件。 稍后,当您的工作完成时,代理将恢复为原始版本。 如果您为自托管代理提供 go,您可以指定需求并根据代理功能将其分配给您的工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM