构建必须在 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
它包括两个码头工人容器。如何在无人机中针对此文件运行构建?我查看了无人机 cli,但它没有以我预期的方式工作。
@BradRydzewski注释是正确的答案。
要在本地运行构建,请使用 drone exec
.您可以查看文档。
扩展他的答案,您必须在本地存储库的根目录中执行命令,正好是.drone.yml
文件所在的位置。如果生成依赖于机密,则需要使用 --secret
或 --secrets-file
选项通过命令行提供这些机密。
运行本地构建时,没有克隆步骤。无人机将使用本地 git 工作区并将其挂载到步骤容器中。因此,如果您在执行本地构建期间签出其他一些提交/分支/任何内容,您将搞砸事情,因为 Drone 会看到这些更改。因此,请勿在生成运行时更新本地存储库。