CI

JenkinsでSCMにGitを追加して、Bitbucktからクローンする方法

JekninsでGitリポジトリを取得するためのプラグインがありますので、そのプラグインをダウンロードして、ついでにBitbucketからチェックアウトしたいと思います。

ちなみに、Bitbucketというのは語弊を恐れずにいうのであればGitHubのようなものです。
GitHubと大きな違いは運用スタイルで、GitHubは無料用途の場合、公開リポジトリしか作成できませんが、Bitbucketは無料で非公開リポジトリの作成が行えます。多分非商用の場合のみかと思いますが・・・。自分の場合、個人用途であっても引きこもりプログラムというのがあって、この場合はBitbucketを使っております。

以外に簡単なので、あんまり気張らずに見ていただければと思います。

まず最初にBitbucketでユーザーを作成しておいてください。
bitbucket

Bitbucket用の秘密鍵・公開鍵を作成

今回JenkinsはLinux上で動かします。
自分はtomcatというユーザーでTomcatを起動し、WARパッケージとして動かしています。
というわけで、tomcatユーザーにBitbucket用の秘密鍵と公開鍵を作成します。

[bash]
su - tomcat
ssh-keygen
[/bash]

ここでパスフレーズを入力しろって言われるんですけど、パスフレーズは入力しません。そのままエンターを押してください。

.sshというディレクトリの中に、id_rsaとid_rsa.pubという2つのファイルができたと思います。
id_rsaというのは秘密鍵で、id_rsa.pubというのが公開鍵になります。公開鍵は後ほどBitbucketに登録します。

続いて、sshの設定を行います。
.ssh/configというファイルを作成します。既にある人は追加してください。

[bash]
vim ~/.ssh/config
[/bash]

以下を入力。

[text]
Host bitbucket
Port 22
Hostname bitbucket.org
IdentityFile ~/.ssh/id_rsa
TCPKeepAlive yes
IdentitiesOnly yes
[/text]

保存が終わったら、権限を変更しておきます。

[bash]
chmod 600 ~/.ssh/config
[/bash]

最後に、./ssh/id_rsa.pubの内容をコピーしておいてください。

続いて、Bitbucket側の作業に移ります。

Bitbucketで公開鍵の登録

ユーザー登録が完了してログインできる状態になっていると思います。

(1)メニューのアカウントの管理からSSHキーというのをクリックします。
bitbucket_menu

(2)公開鍵の登録
鍵の追加をクリックして
addkey01

鍵を登録。
ラベルは後ほど変更可能です。
addkey02

Bitbucket側の作業はこれで完了です。
あと、テスト用にGitのリポジトリを一つ作成しておくとよろしいかと思います。
作成したら、動作確認用にクローン用のアドレスをコピーしておきます。
bitbucket_clone

クローンしてみる

ここで再びLinuxに戻ってクローンしてみます。
先ほど、コピーしたクローンのコマンドを実行してみます。

[bash]
git clone git@bitbucket.org:${username}/hoge.git
[/bash]

${username}のところはBitbucketのアカウント名です。

クローンできたら完了です。まぁクローンしても何もないと思いますが・・・。

Jenkins用にGit用のプラグインを追加

最後の手順です。

プラグインの管理からGit Pluginというのをインストールします。
gitpluginプラグインを追加

インストールが完了したら、ジョブ作成時にソースコードの管理部分にGitというのが選択できるようになります。
gitinstallsucc
Repository URLの部分に、git@bitbucket.org:${username}/hoge.gitと入力すればクローンできるようになります。

まとめ

今回は空プロジェクトでしたが、実際Javaのプロジェクトの場合は、Antを使ってbuild.xmlを書けばJARファイルやWARファイルなんかを作成できるようになります。
環境さえ作ってしまえば、後は以外になんとかなるというかJenkinsが便利すぎるのでできるだけJenkinsで自動化したくなります。

最近、TomcatへのDeployもJenkinsに移行したので機会があればそちらのやり方もご紹介したいと思います。

-CI
-,

© 2025 ビー鉄のブログ Powered by AFFINGER5