【问题标题】:Installing compilers on Azure Pipelines在 Azure Pipelines 上安装编译器
【发布时间】:2020-01-17 11:33:00
【问题描述】:

我有一个 C 项目,我想在多个不同的 C 编译器上进行测试。我目前正在使用 Azure Pipelines 对其进行测试,但我不确定将更多编译器添加到我的工作流中的最佳方法是什么。

目前,我只是使用脚本sudo apt install 进行测试所需的其他一些东西,但 Azure 警告我不要这样做。我还遇到了一个问题,最新版本的 TCC 无法通过 apt install 获得,所以我目前无法通过我当前的方法进行测试。

有没有合适的方法来做到这一点?我在想也许可以指定一个供 Azure 使用的虚拟机,我已经在上面安装了我需要的任何软件。我不知道这是否可能或如何做到这一点。浏览 Azure Pipelines 文档也不是很有帮助,因为我不知道自己在寻找什么。

(如果有任何不清楚的地方,请告诉我,我不能 100% 确定与此相关的正确术语。)

编辑:我基本上希望能够将这样的内容添加到我的azure-pipelines.yml

- job: 
  displayName: "C TCC Ubuntu"
  pool:
    vmImage: 'ubuntu-latest'
  steps:
  - script: |
      set -e
      cmake -DCMAKE_C_COMPILER=tcc .
      make
    displayName: "Compile"
  - script:
      ./tests
    displayName: "Run Tests"

除了vmImage 是我已经安装了tcc 的自定义。如果这是不可能的,任何其他类型的解决方法也是值得赞赏的。

【问题讨论】:

    标签: azure azure-pipelines


    【解决方案1】:

    Azure DevOps 管道有两种代理模型,自托管或托管。您可以运行预安装工具链的自托管代理。这带来了无需管理该服务器及其闲置成本。 To do self-hosted here 是指导您完成安装的文档。

    我鼓励您使用托管代理,因为它为您提供了最大的灵活性,并且如果您愿意,它不会限制您只使用一个操作系统来执行您的构建。话虽如此,托管代理的常见模式是将工具安装在您所说的任务中。 Azure DevOps 扩展市场有几个人创建扩展来安装工具的例子。 Here 是 Rust 的一个示例,请注意安装程序屏幕截图。

    如果您不想在每次构建时都安装编译器,您还可以利用托管代理的能力来使用容器来构建您的软件。然后,您可以预构建一个安装了编译器和其他工具的容器映像,并指示 Azure DevOps 在托管代理中使用它来进行编译。 Here 就是那个文档。

    【讨论】:

      猜你喜欢
      • 2020-10-17
      • 2019-10-10
      • 2021-10-10
      • 1970-01-01
      • 2021-08-09
      • 1970-01-01
      • 2021-09-11
      • 1970-01-01
      • 2012-02-29
      相关资源
      最近更新 更多