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 tag

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

no image

ブランチ構成について

gitのブランチ構成などについて少しまとめてみようと思います。 Contents1 ブランチ一覧1.1 feature1.2 develop1.3 staging1.4 production2 ブラン …

no image

Git+SSH鍵認証

鍵認証をともなったgitのpushやpullについて。 中央リポジトリに公開鍵がおいてあり、リモートリポジトリに秘密鍵を配置します。 ステップとしては以下の2ステップになります。実行時ユーザーのディレ …

no image

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

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

no image

git flowについて

最近、現場で少し使うようになったgit flowに関して。 gitでbranchを切って開発をする場合、 git branch ブランチ名でブランチ作る なんらかの開発 開発が終わったらgit mer …

アーカイブ