「Azure Virtual MachineでVisual Studio & JenkinsなCI環境を構築する(1) ~ インストール編」でAzure Virtual Machineを使ったJenkinsサーバの構築を行いました。今回はそれに続いてJenkinsからgithubのプライベートリポジトリからソースコードを取得してビルドする方法を紹介します。
Gitコマンドの初期設定
JenkinsからGithubのソースを取得するために、まずgitのコマンドをインストールする必要があります。git自体はCygwin版でもmsysでもどちらでも問題ないと思いますが、ここでは一番インストールが簡単と思われるGit for Windowsを使いました。ダウンロードは以下のURLから。
Git for Windowsのインストールが完了したら、githubからプロジェクトをcloneできるように初期設定を行いましょう。まずは、Git for Windows のGit Bashから以下のコマンドで名前とメールアドレスの設定を行います。
次にgithubへアクセスする際に使うSSH公開鍵を作成します。Git Bashから以下のコマンドを実行しましょう。
このコマンドを実行すると、$HOME/.sshのディレクトリ内にid_rsa.pubという名前で公開鍵ファイルが作成されます。このファイルの中身をコピーして、githubのアカウント設定-SSH Keysの画面から新しい公開鍵として登録します。
この登録ができたら、gitコマンドでプライベートリポジトリを利用できるようになります。
次に、github.comを.ssh/known_hostsに登録するために以下のコマンドを実行します。
そして、Jenkinsがgitなどのコマンドを実行する際は"Local System Account"で実行するため、以下のパスがHOMEディレクトリとして扱われます。gitやsshのコンフィグはHOMEディレクトリにあるものが使われるので、以下のディレクトリに上記手順で設定が保存された .sshディレクトリ と .gitconfig ファイルをコピーしておきましょう。
C:\Windows\SysWOW64\config\systemprofile
以上で設定が完了です。
Jenkinsのgit連携設定
gitコマンドが正しく利用できるようになったら、次はこのgitコマンドを使ってソースの取得ができるようにJenkinsの設定を行います。
まずは、Jenkinsにログインして、「Jenkinsの管理」-「プラグインの管理」から「Git Plugin」をインストールします。インストールができると、「システムの設定」画面にgitの設定項目が現れるので、そこにインストールしたGit for Windowsのgit.exeへのパスを入れて保存します。
私の場合は64bit Windowsなので C:/Program Files (x86)/Git/cmd/git.exe を設定しました。
※注1) パスは "\" ではなく "/" で指定しましょう。
※注2) Git/bin ではなく Git/cmd ディレクトリ内のgit.exeを指定しましょう
これでJenkinsのgit連携設定は完了です。
JenkinsでGithubからソースコードをcloneしてみる
以上で設定が完了したので、早速Jenkinsを使ってGithubからソースコードをcloneするプロジェクトを作成しましょう。ダッシュボードから「新規ジョブ作成」を選択し、「フリースタイル・プロジェクトのビルド」からプロジェクトを作成します。
次の設定画面で、cloneするリポジトリのURLを設定します。
以上でプロジェクトの作成が完了です、「ビルド実行」すると、指定したGitリポジトリからソースコードがcloneされます。
これで、GitHubのプライベートリポジトリ上にあるソースコードを利用したCI環境をWindows Azure上に構築できます。あとの使い方は、普通のJenkinsと一緒です。
あ、ひとつだけ注意点が、CドライブがJenkinsのworkspaceになりますが、Azure VMのCドライブは結構容量が少ないです(30GB固定)。workspaceをDドライブに切り替えられればいいんですが、上手く行かなかったのでそのままです。誰か詳しい人いたら教えて下さい。
JenkinsのサービスがLocal System Accountで動いているのもちょっと嫌だったり。。。
0 件のコメント:
コメントを投稿