2016-12-13 6 views
0

私は次の動作を実装したい:GitHubのレポに新しいリリースがあるときはいつでも、プロジェクトをビルドし、最後のリリース以降のすべてのコミットを含むchangelogでSlackに投稿する。これは私にはかなり簡単にサポートされているようなものでした。GitHubの新しいリリースでカスタム動作を実行するには?

CircleCI、Jenkins、TeamCityなどの継続的な統合ツールを調べましたが、この機能はネイティブにサポートされていないようです。

これを実行するツールはありますか?そうでない場合は、これを実装するのに最適な環境は何でしょうか? CIツールはこれを実行する最善の方法ですか?

答えて

0

私はgitタグを使ってCIツールに関係なく探しているものを達成できると思います。まず、あなたのリリースを作るたびにコミットするgitのタグを追加し、その後、それぞれの間に、以下を実行して、

git log <last_released_tag>..HEAD 

編集をたるみに出力を送信ビルド:ここのためthis緩みプラグインに頼るジェンキンスパイプラインを使用してテストされていない例ですジンキン

node mynode { 
    def mytag 
    def mychangelog 
    mytag = sh (git describe --abbrev=0).trim() 
    mychangelong = sh(git log ${mytag}..HEAD).trim() 
    slackSend channel: '#mychannel', color: 'good', message: '${mychangelog}', teamDomain: 'mydomain', token: 'mytoken' 
} 
+0

もちろんです。私の質問は、このプロセスを自動化することです。新しいリリースがあるたびに、ビルドされたプロジェクトが自動的にSlackに投稿されます。これは、changelog 'git log'が生成することができます。ローカルで行うのは簡単です –

+0

上記のjenkinsの例を提供しました。私はtravis CIのレーキでも同様のことをしてきました。 – chrisevett

関連する問題