skillup

技術ブログ

Git

Git→Jenkinsの連携

投稿日:2015年6月17日 更新日:

気がついたら投稿数が50超えてましたね。

ガチンコ塾とあわせて更新してますが、2ヶ月ちょいなので結構いいペースで更新しているかと思います。

大切なのはこれを継続できるかですね。ただ、ガチンコ塾に比べるとちょっと体系化されてません。

これはサイトの性質上仕方ない面もありますが、徐々に修正していきたいです。

Git→Jenkinsの連携

プッシュ時のGitの起動

CIを行う場合Jenkinsを使うケースが多いと思いますが、理想的なのはコミットした瞬間にビルドすることです。

Gitの場合、なんらかの変化が起きたときにする動作はリポジトリの中のhooksというディレクトリ内にスクリプトを書くと起動します。

~.sampleとなっているファイルがそうです。

この場合、Gitは共有リポジトリで管理していることが多いかと思います。

つまりプッシュを受けた時点で動作をします。その場合、post-receiveが対象ファイルになります。(起動させる場合)

ちなみに全パターンのケースは下記に詳しくのっています。

Git hooks まとめ

Jenkis側での対処

Jenkins側で自動ビルドを行う場合、

wget https://jenkinsのURL/job/プロジェクト名/build?delay=3sec

というスクリプトを書けばOKです。

ただ通常は認証をしていたりするケースが多いと思いますので、その場合は一工夫いります。

ユーザー設定ページでトークン取得

まずは自分のトークンを取得しましょう。

ユーザの設定ページのアドレスは下記です。

http://jenkinsのURL/user/ユーザー名/configure へアクセス

ユーザーの認証画面で[APIトークンの表示]をクリックし、コピペ

リモートビルドにチェックし、トークンを保存

次に設定プロジェクトの設定で[ビルド・トリガ]→[リモートからビルド]にチェックをいれ、認証トークンに好きな文字列を入力(APIのトークンとは違い、任意のトークンを入力できます。)

スクリプトに記述

post-receiveにスクリプトを記述

あとはchmod +xで実行権限を与えてあげればOKです。

ちなみに全体の記述に関しては下記を参考にしました。

Gitのpost-commit hookを使ってJenkinsにビルドして頂く

ちなみに/dev/nullを省略した場合、連携に失敗しました。これも追跡調査必要っぽいですねー

-Git
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

git別リポジトリからの差分取りこみ、リモートの別ブランチ反映、強引なstash

gitについて最近覚えたことなど Contents1 別リポジトリからの差分取り込み2 別ブランチからファイルのみ取り込み3 追跡ブランチをローカルに取り込みたいとき4 強引なgit stash 別リ …

no image

JSリンク集+git ブランチ指定 clone

現状の私の課題としてUIに対する意識が甘いということが上げられます。 大昔のサイトで使っているようなわかりにくいUIをそのまま使っているんですよね。 UIといってもいろいろな要素が必要となってきますが …

no image

git tag

あまり普段から使ってこなかったgit tagについて。 使う用途ですが主にリリースポイントについて印として使います。 通常のタグの付与

no image

ファイルを戻したい時のGitコマンド(主にgit resetの用法)

使用ケースでGitコマンドを復習してみようかなと思いました。 主にgit resetの用法整理ですが・・・ Contents1 ローカルを間違ってaddしてしまい、インデックスへの変更を取り除きたい2 …

no image

Gitでのbranch 新ブランチの作成&リモート反映&別環境反映

gitを使っているとわけのわからないことは多いのですが(爆)、その中の1つがbranch(ブランチ)でしょう。 これも説明をきいてもわからないのですが、自分でそのケースを学習してみればすぐにわかると思 …