2017-01-10 1 views
0

私はソースコードに全く触れないブランチで作業しています。そのため、CIプロバイダのCPUサイクルを浪費し、キューを詰まらせることには意味がありません。私はコミットメッセージに[skip ci]を追加することでこれを行うことができることを知っていますが、私はコミット時にそれをするのを忘れています。しばらくしてから、CIボットのメッセージが届き、もう一度忘れてしまいました。gitのいくつかのブランチでメッセージをコミットするために[skip ci]を自動化するには

確かに良い方法が必要です!

Gitフックを使って[skip ci]をこのブランチのコミットメッセージに追加することを考えています。

私の質問は以下のとおりです。

  1. は前方いくつか良い方法はありますか?
  2. 確かに、私はこれをやりたいとは思っていません。私は車輪を再発明したくない。先行技術はありますか?
  3. 前の質問の両方の回答が「いいえ」の場合は、実際のフックを書く上で助言がありますか?

私はトラビスCIを使用しています。

+0

あなたのCIプロバイダーは誰ですか? –

+0

@ScottWeldonこのケースでは、私のCIプロバイダはTravisですが、違いはありますが、 '[skip ci]'のようにする必要がありますコミットメッセージに追加する必要があります。つまり、*前に* CIプロバイダが関与する前に*これは '[skip ci]'をサポートするすべてのプロバイダの場合です。 – jacg

+0

私の答えはなぜ私がプロバイダについて尋ねたかを説明する必要があります。 –

答えて

2

コミットメッセージに[skip ci]を追加する方法はありますが(例えばthis answer参照)、私はそれが最善の解決策ではないと思います。あなたは言った:

私はソースコードに全く触れていないブランチに取り組んでいるだけで、プロジェクトのドキュメントに貢献しているだけです。

このように、実際にはになる必要はありません。このようなブランチでビルドをトリガーします。

specify which branches to build or not buildは簡単ですが、これは事前に設定する必要があり、ブロックするブランチを知る必要があります。

これら2つの問題の解決策はeveryone's favorite tool, regular expressionsです。あなたがドキュメントを書きたいときはいつでも、次に

branches: 
    except: 
    - /^feature\/docs\/.*$/ 

feature/docs/で始まり、それはトラヴィスCIによって構築されることはありませんブランチを作成(もthe Travis CI docsを参照してください。):あなたの.travis.ymlにこのような何かを追加。

+0

CIチェックを要求するように構成されたreposのそのようなブランチでプルリクエストを処理する方法に関する提案はありますか?必要なチェックは、決して行われないビルドを待っています。 – jacg

+0

@jacg私が現在行っている唯一のアイデアは、ブランチの名前を変更するか、同じコミットを指す重複ブランチを作成することです。ステータスチェックはブランチではなくコミットに付けられているので、どちらかを実行すると動作します。 –

+1

Hmm、私は私の最後のコメントが誤った警告だと思う:マスターに合併したPRsはビルドされるだろう。(私たちはもはやドキュメントブランチにあるように)、ドキュメントブランチへのプルリクエストはビルドする必要はないそのブランチでビルドする必要はないからです。 – jacg

関連する問題