目次

目次

[ビルドサーバの構築]パッケージインストール編

高橋克幸
高橋克幸
最終更新日2017/05/11 投稿日2017/05/11

ビルドサーバの構築を行いました。 今回はパッケージインストールからサーバを起動するところまで書きたいと思います。 前提としてビルドサーバでは、GitHub と連携し Push されたタイミングで Job を実行します。 ビルドは、Gradle で行います。

要件

パッケージ名(バージョン)

  • JDK (8系なら良し)
  • Git (よしなに)
  • Nginx (よしなに)
  • Jenkins (よしなに)
  • Gradle (よしなに)

こうみるとざっくりとしてますね…

パッケージインストール

Jenkins

yum を利用して Jenkins をインストールするには、リポジトリ情報を追加してインストールします。

# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
# rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
# yum install jenkins

Git

Jenkins と GitHub で連携するため Git をインストールします.

# yum install git

JDK

GitHub から clone したJavaのソースコードをコンパイルするためインストールします。

# yum install java-1.8.0-openjdk-devel

Gradle

Java のソースコードをコンパイルするため、Gradle をインストールします。Gradle は yum でインストールすることができないようです。SDKMAN( rbenv とか pyenv みたいなもの)というパッケージマネージャを利用すればインストールはできますが、HOME 直下にインストールされてしまいます。(自分の開発環境とかで導入してみると使いやすいかも) サーバだと管理しづらいと思ったので、結局手動でインストールしました。

# wget -N https://services.gradle.org/distributions/gradle-3.1-all.zip
# unzip /home/reco-dev/gradle-3.1-all.zip -d /opt
# ln -s /opt/gradle-3.1 /opt/gradle

Nginx

# yum -y install nginx

Nginxの設定

httpリクエストがきた際に Jenkins のページが表示されるように設定

/etc/nginx/conf.d/jenkins.conf

upstream jenkins_server {
    server 127.0.0.1:8080 fail_timeout=0;
}

server {
    listen       80;
    server_name  localhost;

    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ / {
        proxy_read_timeout      300;
        proxy_connect_timeout   300;
        proxy_redirect          off;

        proxy_set_header        X-Forwarded-Proto       $scheme;
        proxy_set_header        Host                    $http_host;
        proxy_set_header        Host                    $host;
        proxy_set_header        X-Real-IP               $remote_addr;
        proxy_set_header        X-Forwarded-For         $proxy_add_x_forwarded_for;

        proxy_pass              http://jenkins_server;
    }
}

Jenkinsとデフォルトポート80が衝突するので80ポートを適当に変更する

/etc/nginx/nginx.conf

    server {
        listen       8000 default_server;
        listen       [::]:8000 default_server;
        server_name  localhost;

Nginx と Jenkins の起動

# server nginx start
# server jenkins start

システム起動時の設定

システム起動時に Nginx と Jenkins を自動起動するよう設定

# chkconfig --add nginx
# chkconfig nginx on
# chkconfig --add jenkins
# chkconfig jenkins on

おわりに

今回はビルドサーバに必要なパッケージのインストール手順について書きました。次回はJenkinsのJob作成について書きたいと思います。

高橋克幸

新卒3年目で脱新人を目指してます。
フロントに興味を持ち始めた今日このごろ。
趣味は 麻雀 プログラミング 音楽。
運動不足を感じているため、ダンスを始めようかと思っています。

目次