16

构建是否必须在drone.io 服务器上运行?我可以在本地运行构建吗?由于开发人员需要在将代码推送到 github 之前先通过构建,因此我正在寻找一种在开发人员本地机器上运行构建的方法。下面是我的 .drone.yml 文件:

pipeline:
  build:
    image: node:latest
    commands:
      - npm install
      - npm test
      - npm run eslint
  integration:
    image: mongo-test
    commands:
      - mvn test

它包括两个 docker 容器。如何在无人机中针对此文件运行构建?我查看了无人机 cli,但它没有按我预期的方式工作。

4

1 回答 1

21

@BradRydzewski 评论是正确答案。

要在本地运行构建,请使用drone exec. 您可以查看文档

扩展他的答案,您必须在本地存储库的根目录中执行该命令,这正是您的.drone.yml文件所在的位置。--secret如果您的构建依赖于机密,则需要使用or--secrets-file选项通过命令行提供这些机密。

运行本地构建时,没有克隆步骤。Drone 将使用您本地的 git 工作区并将其安装在步骤容器中。因此,如果您在执行本地构建期间检查其他一些提交/分支/任何内容,您将会搞砸,因为 Drone 会看到这些更改。所以不要在构建运行时更新你的本地仓库。

于 2017-06-16T12:00:02.960 回答