PhpStormにて多段sshで外部サーバにデプロイする方法
背景
PhpStorm導入したんだけどEC2上の開発環境で直接作業したい。(楽に)
でもそのEC2は踏み台サーバー経由しないとアクセスできない
ってことで前回書いたのだが
これだとソース管理できない。
というか、接続先の外部サーバにsshで繋いでソース管理しないといけない(面倒)
今回はその課題を解決する
アプローチ方法
前回
開発環境(外部サーバー)をプロジェクトとして登録すればいいんじゃね?
今回
ローカルにプロジェクトを作成し、開発環境(外部サーバー)に自動デプロイすればいいんじゃね?
つまり方向を反対にした。
外部サーバー=>ローカル
ローカル=>外部サーバー
手法
以下、実際に行った手順を記載する。
※日本語環境で作業しています
ssh configの設定
まずは、前回も書いたけど、ssh configを設定して踏み台経由で目的のサーバにアクセスできるようにしよう。
sftp(ssh)接続で使用するconfigファイルに多段ssh接続の設定を追記する
jumpが踏み台でmy_project_hostが真に接続したいサーバーである
Host jump
Hostname jump-ip
User jump-user_name
IdentityFile ~/.ssh/jump-key
Host my_project_host
Hostname my_project_host-ip
User my_project_host-user_name
IdentityFile ~/.ssh/my_project_host-key
ProxyCommand ssh -W %h:%p jump
設定が間違っていないか、一度sshで接続できるか試しておこう。
ローカルに該当プロジェクトを用意
- ローカルに該当プロジェクトを用意する(自分はgit cloneした)
- この辺は人によって違うので割愛
PhpStormの設定
プロジェクトの登録
デプロイサーバーの設定
上記のローカルで作ったプロジェクトを選択する
プロジェクトが開くと思うので、引き続きmenu>ツール>デプロイ>構成を選択する
デプロイモーダルが開くので左上の「+」を押しデプロイ先の設定を行う
前回と同様に設定を行う
紐付け(マッピング)
- menu>ツール>デプロイ>自動アップロードを選択する
- デプロイ先を求められるので先ほど登録したサーバを選択する
- menu>ツール>デプロイ>構成>マッピングにてサーバにマッピング情報を設定する
以上でローカルのファイルを保存すると自動的に対象サーバーにアップロード処理が走るようになった。
雑感
通信時に多少遅い時もあるが、概ね良好。
タスクランナー走らせて、PhpStorm以外でファイルを変更した時などには
設定から「サーバーへの自動アップロード」を「常時」にすればアップロードされるが、
一度PhpStormにフォーカスを持ってこないといけない現象がおきているのでちょっと面倒。
この辺の課題を今後解決していきたいと思う。
Author And Source
この問題について(PhpStormにて多段sshで外部サーバにデプロイする方法), 我々は、より多くの情報をここで見つけました https://qiita.com/SLEAZOIDS/items/47e36f86c3675ee069fb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .