ビルドは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を確認しましたが、期待どおりに動作しません。
@BradRydzewskiコメントは正解です。
ビルドをローカルで実行するには、drone exec
を使用します。 ドキュメントをチェック できます。
彼の答えを拡張して、ローカルリポジトリのルート、つまり.drone.yml
ファイルがある場所でコマンドを実行する必要があります。ビルドがシークレットに依存している場合は、--secret
または--secrets-file
オプションを使用して、コマンドラインからこれらのシークレットをフィードする必要があります。
ローカルビルドを実行する場合、クローン作成手順はありません。ドローンはローカルのgitワークスペースを使用して、ステップコンテナーにマウントします。そのため、ローカルビルドの実行中に他のコミット/ブランチ/何かをチェックアウトすると、Droneがそれらの変更を見るので、混乱を招きます。そのため、ビルドの実行中にローカルリポジトリを更新しないでください。