Help us understand the problem. What is going on with this article?

コミットしたらGitBucketとJenkinsとHipChatに任せて他の事やってましょう(1)

More than 1 year has passed since last update.

少人数開発でソースコード管理は面倒だし、継続的インテグレーション(continuous integration)?
管理する人員なんていません。
という現場ほど導入して欲しい方法です

  • 使用ツールの概要

    GitBucket:プライベートGitホスティングサーバ(ソースコード管理)
    Jenkins:自動ビルドツール
    HipChat:ホスティング型プライベートチャットツール
    何より全部FREE

  • 連携の概要

1.)自分のリポジトリにコミット
2.)GitBucketのリモートリポジトリにPush
3.)GitBucketがWebHookを使ってJenkinsにビルド要求
4.)Jenkinsがビルド終了したらHipChatへ結果を通知
5.)おぉそうだったそうだったビルド結果は。。。Σ(゚皿゚) ガビーン
jenkins_redimage.png

さらにJavaの知識はないしサーブレットって何?という人が
GitBucketとJenkins使ってみるための導入記事です
使用サーバ:Linux Ubuntu14.04 amd64
RedHat/CentOS系はインストール等手順が異なるので参考程度に

1. GitBucketの整備

複数人開発でGitホスティングサーバは不可欠です。
GitHub/bitbucketなどがありますが
内容的にClosed環境での開発がほとんどという現場には
導入が楽なGitBucketがおすすめなのです
ほんとはGitLabとGitoliteに挫折しただけです

1.1.GitBucket download

URL:https://github.com/takezoe/gitbucket/releases
最新版を入手します「gitbucket.war」
Javaに心得があったりカスタマイズできるスキルがある場合はSource Codeを選択してください

ApacheやNginxを使う場合の設定
LDAPサーバを準備して行う場合などなどは
Wiki を参照してください
URL:https://github.com/takezoe/gitbucket/wiki

とりあえず何がともあれJAVA をつかうんで確認しておく

1.2. OpenJDKの整備

 1.)java -v
 インストールされてないやんけ
 2.) sudo apt-get install openjdk-7-jre-headless
 とりあえず入った

~$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.3) (7u71-2.5.3-0ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

ぶっちゃけGitBucket単体で「java -jar gitbucket.war」しとけば動くんで
手っ取り早く動かしたい!とか個人で利用ならそれでいいとおもいます

今回はServletコンテナはTomcatを使用する場合を記載します。
TomcatをInstallして起動します。

1.3. Tomcatの整備

  • Ubuntu/Debian系

こちらを参考にしました
apt-get installで入るTomcat7だと相性が悪いのかデプロイできませんでした
Tomcat8を入れて動かすと動きました

1.)Tomcatが[http://[HOSTNAME]:8080]で起動することを確認
Apache Tomcat 8.0.15.png

2.)ManageAppとHostManagerアクセスできるようにする
アクセスできないときにやり方を教えてくれるのでそのまま言われたとおり設定する
401 Unauthorized.png

$ cd /opt/tomcat/config
$ sudo vi tomcat-users.xml

以下を設定する

<tomcat-users>
 <role rolename="manager-gui"/>
 <role rolename="admin-gui"/>
 <user username="tomcat" password="s3cret" roles="manager-gui,admin-gui"/>
</tomcat-users>

tomcatを再起動
$/opt/tomcat/conf$ $CATALINA_HOME/bin/catalina.sh start

1.4.GitBucket配置

1.)Tomcatにアクセス
「http://[HOSTNAME]:8080」
2.)ManageAppを開く
Apache Tomcat 8.0.15.png

3.)Gitbucketのwarを配備
manager.png
ダウンロードした「gitbucket.war」を指定し配備ボタンをおすと
上の[アプリケーション]のパスに[/gitbucket]が出てくるここでコマンド「起動」
さー起動したか確認してみよー「http://[HOSTNAME]:8080/gitbucket」

GitBucket.png

2.Jenkinsの準備

2.1.Jenkins download

  • Ubuntu/Debian系

本家のInstall手順を参考に

Installing Jenkins on Ubuntu.png

2.2.Jenkinsの配備

1.)Tomcatにアクセス
「http://[HOSTNAME]:8080」
2.)ManageAppを開く
3.)Jenkinsのwarを配備
GitBucketとは異なりサーバ上にinstallしてあるので本体[jenkins.war]の場所を探します

sudo find ../../ -name "jenkins"
/usr/share/jenkins

「コンテキストパス」には「/jenkins」
「WARファイル又はディレクトリのURL」に「/usr/share/jenkins/jenkins.war」を指定し
[配備]ボタンをおします
すると自動起動されます
Jenkinsmanager2.png

さー起動したか確認してみよー「http://[HOSTNAME]:8080/jenkins」
ダッシュボード  Jenkins .png

ちなみにapt-get で入れたjenkinsはserviceで起動するので再起動してしまうとTomcatを介さず起動してしまうため
gitbucketも動かなくなってしまいます
サービス起動しないよう「sudo update-rc.d -f jenkins remove」で起動スクリプトをはずしておきます

3.HipChatの準備

HipChatじゃなくてもよかったんですが現場で使ってるメッセンジャーツールだったので
例としてこれを出しておきます。
昔からIRQやらIPMessager、今だとSkype, HoungOut, Slackなんかもメジャーどころですね
これらも後述しますがJenkinsおじさんが結果を通知してくれればいいだけなので
「その担当が気がつくツール」であれば何でもよく「メール」だけは欠かさず見るとか
ブラウザは必ず見てるのでそこで通知される。とかとか何でもいいのです
Jenkinsのプラグインさえあれば!

HipChatの本家
登録等の内容は割愛します

これでプラットフォームの設置は完了
コミットしたらGitBucketとJenkinsとHipChatに任せて他の事やってましょう(2)へ続く。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした