Jenkinsのセットアップ(インストールとsshの設定)
Jekinsのインストール,設定メモ.Markdownで残っていたので公開する.
install & run (for mac)
$ brew install jenkins # インストール $ java -jar /usr/local/opt/jenkins/libexec/jenkins.war # 起動.デフォルトポート:8080
Publish over SSH
JenkinsからリモートサーバへSSH&SCPするために使用したプラグイン. Jenkinsのホストで生成した秘密鍵と公開鍵を用いてリモートサーバにアクセスする.
[Jenkins host] $ ssh-keygen -t rsa Enter file in which to save the key (<ホームディレクトリ>/.ssh/id_rsa): <鍵の保存先と名前> Enter passphrase (empty for no passphrase): <鍵のパスフレーズ>
- 公開鍵をリモートサーバにコピー
- 公開鍵の登録
[remote server] $ cat id_rsa.pub >> ~/.ssh/authorized_keys
- Jenkinsに登録
- ジョブ毎の設定
- [設定]
- ビルド環境以下の2つが設定可能となる(上がビルド前,下がビルド後に実行)
- 各設定
- Name : 設定したサーバの名前
- Transfers: 送るファイル,実行するコマンド
- [Add Transfer Set] で実行するサーバ,コマンドを増やす事ができる.
- Tips
- [設定]
pluginを用いない場合のSSHの設定
$ ssh -i <秘密鍵> <リモート先> <実行コマンド>
sudoのパスワードと秘密鍵のパスフレーズを突破する必要があるため,以下の設定を行っておく必要がある.
- sudoのパスワード省略
- visudoで/etc/sudoersに以下の行を追加する.
%sudo ALL=(ALL:ALL) ALL
の下に追記した.
- visudoで/etc/sudoersに以下の行を追加する.
$ sudo visudo
<username> ALL=(ALL) NOPASSWD:ALL
[Mac] $ ssh-add -l # 秘密鍵の登録状況 $ ssh-add <秘密鍵> [Linux] $ eval `ssh-agent` $ ssh-add -l $ ssh-add <秘密鍵>
Tips: sudo できなくなったら. Ubuntuの場合
- Shiftを押しながら起動.シングルユーザモード(recoverey mode)でログイン.
- root Drop to root shell prompt
なんでこんなTipsがあるかって? 察して.