karakaram-blog

Jenkins2インストールと初期設定〜ユーザ、権限、git連携〜

 ツイート 1  シェア 0  Google+1 0  Hatena 5

Jenkins2初期設定まとめ

Jenkins2 を CentOS にインストールする方法と、インストール後に毎回やる認証周りの設定をまとめました。久しぶりに Jenkins をセットアップしたらいろいろ忘れていたのでメモ。
ログインユーザの追加、ユーザの権限管理、git サーバとの連携方法などを紹介します。これから Jenkins2 を使う方の参考になれば。

目次

  1. Vagrantfile
  2. Jenkins2 をインストール
  3. ユーザ登録
  4. ユーザの権限設定
  5. 環境変数の設定
  6. git サーバと連携する

Vagrantfile

今回の例は Vagrant 上で動作確認しました。Vagrantfile は以下の通り。

Vagrant.require_version ">= 1.7.0"

Vagrant.configure(2) do |config|
  config.vm.box = "bento/centos-6.7"
  config.vm.hostname = "vm1"
  config.vm.network :private_network, ip: "192.168.33.11"
  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "1048"]
    vb.customize ["modifyvm", :id, "--cpus", "2"]
  end
end

Jenkins2 をインストール

インストールは公式ドキュメントを参考にしました。
Installing Jenkins on Red Hat distributions – Jenkins Wiki

Vagrant 上で実行したコマンドは以下。

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

インストール後、ブラウザのアドレスバーに「192.168.33.11:8080」と入力して Jenkins にアクセスします。

パスワードを求められるので、画面に案内が出ているとおり /var/lib/jenkins/secrets/initialAdminPassword に書かれたパスワードを入力します。

Jenkins2ロック解除

Customize Jenkins では左側の「Install suggested plugins」を選択しました。

推奨プラグインのインストール

プラグインがたくさんインストールされます。数分待ちます。

Jenkins2推奨プラグインインストール中

ユーザ登録

初期状態では管理者ユーザしかいませんので、作業用のユーザを作成します。作成したユーザはこの後の権限設定でジョブの閲覧と実行しかできないようにします。

Jenkinsの管理 > ユーザーの管理 > ユーザー作成

ユーザ作成

ユーザの権限設定

作成したユーザの権限を設定します。

Jenkinsの管理 > グローバルセキュリティ

以下の設定になっていることを確認します。デフォルトでこの設定になっていると思います。

  1. 「セキュリティを有効化」にチェック
  2. アクセス制御 > ユーザ情報 >「Jenkinsのユーザーデータベース」を選択
  3. >「ユーザーにサインアップを許可」のチェックをはずす

アクセス制御

続いてユーザの権限を細かく設定します。

  1. アクセス制御 > 権限管理 > 「行列による権限設定」を選択
  2. テキストボックスに登録したユーザを入力し、「追加」ボタンをクリック
  3. ユーザごとに許可したい操作にチェックをつける

権限管理

上記の例では、admin に全権限を、user に読み取り権限とジョブの実行権限を与えています。

権限の設定ミスに注意
権限の設定を間違えると、設定変更後に何もできなくなることがあります。その場合は /var/lib/jenkins/config.xml の useSecurity タグの値を false に変更して Jenkins を再起動してください。管理者権限で Jenkins を開くことができます。復旧後、再度セキュリティの設定をやりなおします。

環境変数の設定

Jenkins で利用する環境変数を設定します。

Jenkinsの管理 > システムの設定

  1. グローバル プロパティ > 「環境変数」にチェック
  2. キーと値を入力

Jenkins2環境変数

git サーバと連携する

Jenkins と git サーバを連携できるように ssh 鍵認証の設定をします。ssh 秘密鍵の作成や、git サーバ側の鍵認証の設定はここでは触れませんが、以前書いた記事 WindowsにgitをインストールしてgithubにpushするまでWindowsのGitクライアントSourceTreeのインストールと初期設定 などが参考になると思います。

まずはターミナルによる操作。Jenkins サーバの /var/lib/jenkins.ssh ディレクトリを作成します。

$ cd /var/lib/jenkins
$ sudo mkdir .ssh

続いて、ssh の秘密鍵を Jenkins サーバに SCP やファイル共有などで転送し、/var/lib/jenkins/.ssh に配置します。

Jenkins サーバのターミナル

$ sudo mv id_rsa /var/lib/jenkins/.ssh/

最後に権限を設定します。

$ cd /var/lib/jenkins
$ sudo chown -R jenkins. .ssh
$ sudo chmod 700 .ssh
$ sudo chmod 600 .ssh/id_rsa

今度は Jenkins 管理画面で操作します。

認証情報 > Domains (global) グローバルドメイン > 認証情報の追加

  1. 種類:「SSH ユーザ名と秘密鍵」を選択
  2. ユーザ名:「jenkins」と入力
  3. 秘密鍵:「Jenkins マスター上の ~/.ssh から」を選択
  4. 説明:管理しやすい情報を入力

Jenkins2 github認証の追加

これで、ジョブを追加するときの Git の Credentials に、以下のように認証情報を選択できるようになります。

Jenkins2 github 認証を選択

まとめ

Jenkins をインストールして、ジョブを作成する前に毎回設定していることをまとめました。
この後ジョブを登録して、ユーザが増えてくると、「この人にはあのジョブを実行させたくない」みたいなことが出てくると思います。この設定は次の記事で書きます。

 ツイート 1  シェア 0  Google+1 0  Hatena 5