jenkinsのインストールからGradleの手動ビルドまで

jenkins

Javaで書かれたオープンソース継続的インテグレーションツール
いろいろ自動化しなきゃと思ったのでちょっと触ったときのメモ

インストール

事前にjavaがインストールされているか確認、入ってなかったら7以上のjavaを入れておく

# yum install java

jenkinsのインストール

公式の手順に従いリポジトリを追加してyumからインストール

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

jenkinsの起動

CentOS7も起動スクリプトから起動

service jenkins start

jenkinsの自動起動設定

chkconfig jenkins on

外部からの通信許可

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload

初期設定

http://IPアドレス:8080/"でJenkinsにアクセスログイン画面では”/var/lib/jenkins/secrets/initialAdminPassword"に初期パスワードの設定があるとの表示があるのでそれに従いパスワードを入力してログイン 標準的なプラグインをインストールするかどうか選べるのでインストールするで次に進む
プラグインインストール後はユーザを作成してダッシュボード画面に遷移

秘密鍵を追加

“/var/lib/jenkins/.ssh"に秘密鍵を追加する

mkdir /var/lib/jenkins/.ssh
chown jenkns:jenkins /var/lib/jenkins/.ssh
[root@localhost .ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /var/lib/jenkins/.ssh/id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa.
Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx xxxx@xxxxxxxxxx

[root@localhost jenkins]# chown -R jenkins:jenkins .ssh/var/lib/jenkins/.ssh/
[root@localhost jenkins]# chmod 600 .ssh/id_rsa
[root@localhost jenkins]# chmod 644 .ssh/id_rsa.pub
[root@localhost jenkins]# chmod 644 .ssh/known_hosts

# sudo -u jenkins ssh -T git@bitbucket.org

Gradleをビルドしてみる

新規ジョブ作成から"フリースタイル・プロジェクトのビルド"を選択
ソースコード管理ではgitを選択してリポジトリURLにはgitプロトコルのURLを入力する。認証情報の追加から事前に準備していた鍵を指定する。
ビルドトリガも選びたいけど今回は手動で動かせば良いので未設定、ビルド環境も今回は簡単な動作確認が目的のため未設定
ビルド手順の追加では"Invoke Gradle Script"でも良いのかもしれないけど今回はコミット前に"gradle wrapper"を準備しておいてGradleをインストールしていなくても ビルドを実行できる状態にしておいたので"シェルの実行"を選択して"./gradlew build"を指定しておく    

それから手動で実行をしたら

Could not find tools.jar. Please check that /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/jre contains a valid JDK installation.

と怒られたのでjdkをインンストール

yum install java-1.8.0-openjdk-devel

再度手動で実行してビルド成功を確認!

便利そうなのでgitのイベントをフックして自動でビルド、デプロイまで出来るようにしたいと思います。