skillup

技術ブログ

Git

Git→Jenkinsの連携

投稿日:

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

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

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

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

Git→Jenkinsの連携

プッシュ時のGitの起動

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

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

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

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

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

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

http://qiita.com/khlizard/items/dfe1ec9d82c0ed5da7c6

Jenkis側での対処

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

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

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

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

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

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

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

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

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

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

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

スクリプトに記述

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

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

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

http://hidari-lab.hatenablog.com/entry/git_post-commit-hook_with_jenkins

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

-Git
-

執筆者:


comment

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

関連記事

no image

gitの紹介と基本的な使用法について

Contents1 旧来のソース管理方法2 バージョン管理ツール2.1 バージョン管理とは?2.2 有名なバージョン管理ソフト3 Gitの基本的な使用法3.1 初期化(git init)3.2 基本的 …

no image

git flowについて

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

no image

githubのremoteリポジトリへの登録

githubにgit pushしようとしたときにエラーがでたんでちょっとメモ。 githubに登録する場合、設定が適切でないと、

など …

no image

gulpに関して

gulpに関しての復習と色々と間違っていたところもあるのでまとめ。 ちなみに以前書いた記事は下記 gulpインストールとタスクの実行 Contents1 インストール2 タスクの実行3 npxコマンド …

no image

Gitのブランチについて

ちょっといろいろと触っているGitに関して。 前回は作業ディレクトリ、インデックス、コミットについて説明したのですが、今回はブランチについて行います。 Contents1 ブランチとは?2 ブランチに …