エンジニア男

勉強したことの忘備録としてつらつら書いていきます。

【Jenkins】Publish Over SSHによるデプロイの仕方

JenkinsのPublish Over SSHによるデプロイの仕方。

 

※事前準備

SSH公開鍵認証を行う。ssh公開鍵認証について - エンジニア男

 

 

①Publish Over SSHプラグインをインストールする。

f:id:shota06:20210829224927j:plain

[ダッシュボード] >> [Jenkinsの設定] >> [プラグインの管理]を開く。

Publish Over SSHで検索してインストール、Jenkins再起動をする。

※画像はインストール済みのもの

 

②Publish Over SSHの設定をする

[ダッシュボード] >> [Jenkinsの管理] >> [システムの設定] を開く。

f:id:shota06:20210829225550j:plain

※こちらの項目は入力不要。

・Passphrase: Keyにパスワードを設定している場合はここに入力する。

・Path to key: 使用する秘密鍵のパスを入力する。

・Key:  秘密鍵のテキストを入力する。

 

f:id:shota06:20210829225601j:plain

[add]ボタンを入力して、↓の項目を入力する。

・Name: 任意の名前を入力する。

・HostName: デプロイ先のIPアドレス or ドメイン名を入力する。

・UserName: デプロイ先のログインユーザを入力する。

・Remote Directory: デプロイ先のディレクトリを入力する。未入力だとログインユーザのホームディレクトリになる。

・User password authentication, or use a different key

 >> Passphrase/Password: デプロイ先のログインユーザのパスワードを入力する。

 

③ジョブの設定をする。

[ビルド後の処理の追加] >> [Send build artifacts over SSH]ボタンを押す。

f:id:shota06:20210829231658j:plain

f:id:shota06:20210829231710j:plain

・Name: ②で設定したデプロイ先を選択する。

・Source files: デプロイしたいファイルのパスを入力する。(例) target/class/test.war

※Jenkinsのワークスペースからの相対パスを入力する。

・Remove: prefix: Source filesで入力したパスのディレクトリごとデプロイするので、削除したいディレクトリを入力する。(例) target/class

・Remote directory: デプロイ先のディレクトリを②で入力したRemote Directoryからの相対パスで入力する。

・Exec command: デプロイ後に行いたい処理をシェルで入力する。

 

⑤ジョブを実行して結果を確認する。

 

※補足

Jenkinsのワークスペースについて

③で設定したSource filesはワークスペースからの相対パスを入力している。そのためgitからfetchしてきたプロジェクトのディレクトリをJenkinsのワークスペースに設定する。

f:id:shota06:20210829235134j:plain

・カスタムワークスペースを使用にチェックを入れる。

 >> ディレクトリ: ワークスペースにしたいディレクトリを絶対パスで入力する。