web-dev-qa-db-ja.com

drone.ioを使用してローカルマシンでビルドを実行する方法

ビルドは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

2つのDockerコンテナーが含まれています。ドローンでこのファイルに対してビルドを実行するにはどうすればよいですか?ドローンcliを確認しましたが、期待どおりに動作しません。

12
Joey Yi Zhao

@BradRydzewskiコメントは正解です。

ビルドをローカルで実行するには、drone execを使用します。 ドキュメントをチェック できます。

彼の答えを拡張して、ローカルリポジトリのルート、つまり.drone.ymlファイルがある場所でコマンドを実行する必要があります。ビルドがシークレットに依存している場合は、--secretまたは--secrets-fileオプションを使用して、コマンドラインからこれらのシークレットをフィードする必要があります。

ローカルビルドを実行する場合、クローン作成手順はありません。ドローンはローカルのgitワークスペースを使用して、ステップコンテナーにマウントします。そのため、ローカルビルドの実行中に他のコミット/ブランチ/何かをチェックアウトすると、Droneがそれらの変更を見るので、混乱を招きます。そのため、ビルドの実行中にローカルリポジトリを更新しないでください。

11
Daniel Cerecedo