2017-06-29 9 views
1

背景:私が働いているBitbucket Pullrequest Builder Pluginを使用しているときに、ブランチ全体ではなくJenkinsfileのみをチェックアウトするにはどうすればいいですか?

ジェンキンスのプラグインです:私が働いている会社は、Jiraの+を使用している

  • のBitbucketプラグイン
  • のBitbucket Pullrequest Builderのプラグイン

Bitbucket。

私はJenkinsのBitbucketチームのジョブを作成することでJenkinsの自動ビルドを実装しました。このジョブは、会社のBitbucket組織リポジトリ全体と各リポジトリ内のすべてのブランチを自動的にスキャンし、各リポジトリ内の各ブランチのジョブを自動的に作成します。

プルリクエストが開かれるか、これらのリポジトリのいずれかにコミットがプッシュされると、Jenkinsはそのブランチとそのプルリクエストのビルドをそれぞれトリガします。

パイプラインのJenkinsfileはすべてのリポジトリで同一です。

ジョブにはDockerの実行が必要な段階があり、JockkinsスレーブにDockerがインストールされていることがあります。

ステージの1つがdocker-composeで実行されており、そのためにはリポジトリにあるdocker-compose.ymlファイルが必要です。今

私の問題:

のBitbucket組織のスキャンのために責任がある仕事最初のチェックアウトはジェンキンスマスターワークスペースで行われていることを意味ジェンキンスマスターに常駐しながら、メインステージの一つのビルド(docker-compose)がJenkinsのスレーブ「Docker」マシンで実行されるので、その段階になるとリポジトリのファイルがそこにないので、私は内でcheckout scmを再度使用して、新しくコミットされたファイルをドッカーにプルしますマシンワークスペース。

これは、リポジトリが2回複製されたことを意味します。 Jenkinsマスターのワークスペースへのコミット/ PRを識別するスキャンジョブによって1回、Jenkinsドッカースレーブによって2回目にワークスペースに移動します。

今のところ、会社のリポジトリはそれほど大きくはありませんが、今後大きくなる可能性があり、仕事ができるだけ早く完了していることを確認したいと思います。

私はブランチ全体ではなくコミット/ PRが行われているブランチからJenkinsfileだけをチェックアウトするために "BitBucket Plugin"をオーバーライドすることが可能かどうか疑問に思っていました。

このようなことは可能ですか?

答えて

1

あなたは、このコマンドを使用して、シェルでそれを行うことができ、単一のファイルをチェックアウトしたい場合:

git archive [email protected]:project/your-repo.git HEAD:folder file | tar -x 
+0

おかげで、私は上書きしようとしている/この問題を回避するにないのBitbucketプラグインの動作をBitbucketチームのスキャン時にデフォルトでフルチェックアウトが可能かどうか知りませんか? –

関連する問題