ローカル開発環境へのSftp送信に一苦労したのでメモ。
ドットインストールでこちらのレッスンを受講していました。
Railsの勉強がてら、ActiveRecordをさらっと勉強しておくつもりでした。
作業環境はVagrantによるローカル開発環境。これもドットインストール様のレッスンに従い導入しました。
すると「わかりやすくエディタでやっていきましょう♪」なんて仰る田口様。
えっ??( ゚д゚)ポカーン
どうやら、SublimeTextで作成したファイルをVagrantにアップロードするとのこと。
えっ?どういうこと??
そんなことできるの???( ゚д゚)ポカーン
全くの初見知識。
もうね、僕みたいなポンコツからしたら意味がわからないわけですよ。
というわけで「SublimeText Vagrant」でググってみると、
あったあった♪
さすがはてなブログ、さすがQiita♪
これで一件落着!
と思いきや、
Vagrant 側の準備
vagrant ssh
- git clone hoge しておく ★A
git clone hogeってなんだよ!!(逆ギレ)
「しておく」ってのがまた「知ってて当然でしょ??」みたいなニュアンスを出してて、自分のダメさを実感してしまうわけです(´Д⊂ヽウェェェン
ちなみにgitについてはRailsチュートリアルで扱ったので、なんとなーくわかる程度。
そして試行錯誤すること1時間。。。
できた!!!!(T_T)
こんな自分でもできた。。
まさかいないとは思うけど、僕みたいなポンコツのためにメモしておきます。
(基本的には上記のサイトの通り。補足を書きます)
------目次------
- とりあえずgit clone hogeしよう
- SublimeText側の操作
- Sftpしたあと(おまけ)
1. なにはともあれgit clone hogeしよう
まず、Vagrantを導入したディレクトリに行きます。(ドットインストールにお世話になった場合、mycentosです)
そこでまず、
としてローカル開発環境を立ち上げます。
次にその開発環境のまま、
$ git clone hogeとします。
(自分の場合はレッスンに合わせてgit clone active_record_testとしました)
そこで
$ ls
にてディレクトリを見てみてください。
git cloneにて作成したディレクトリが確認できると思います。
SublimeTextからは、このディレクトリにファイルをアップロードする。そんなイメージを持っていてください。
2. SublimeText側の操作
さて、Sftpプラグインを導入しましたか??
まず、なんでもいいのでプロジェクトを作成しましょう。
自分の場合、「プロジェクト」が何なのかすらわかりませんでした。そんな方のために、まずはデスクトップに何かしらのフォルダを作りましょう。
これをSublimeTextのプロジェクトタブから開きます。
(もちろん、中身はまだ空っぽです)
プロジェクトを開くとこのようになっているかと思います。
次に、Sftpの設定をしていきます。
ファイルのSFTPタブからセットアップサーバを選択します。
すると、このようなおどろおどろしいファイルが開きます。
このファイルに対して書き換えを行うことで、Sftp送信を可能にするのです!すごい!
ちなみに、Sftpがよくわからない人は(というか僕も分からないんですが)「作成したファイルをどこかへ送信すること」くらいの認識でいいと思います。
書き換えの内容ですが、
再びターミナルに戻って、以下のコマンドを実行します。
(実行するには先ほど立ち上げたvagrant sshからexitで抜けておきます )
すると、このような表示が出るかと思われます。
この内容をSublimeText側のおどろおどろしいファイルに書き換えます。
具体的にはこの箇所。
"host": "127.0.0.1",
"user": "vagrant",
"password": "vagrant",
"port": "2200", ←ポートはvagrantを立ち上げる度に変わるっぽいです。要注意!
それと、パスも指定します。
"remote_path": "/home/vagrant/active_record_test/",
これは先ほどgit configで作成したディレクトリになります。
SublimeText側でこのように指定することで、Vagrantの該当ディレクトリに送信してくれるようです。
それと、「保存時に送信」にしておくとすぐ確認できるので楽です。
"upload_on_save": true,
9行目あたり項目があるのでtrueにしておきます。
さて、これで準備はできました。
いよいよファイルの送信です。
空っぽのプロジェクトに何かファイルを作りましょう。
(僕の場合はレッスンで使うためのsqlファイルを作成しました。)
そして⌘ + sで保存すると、SublimeTextの下の方に「success」という文字が...!
ターミナル側でも確認してみます。
$ git clone で作成したディレクトリまで移動します。
そこで$ ls で中身を表示すると、
やったー!送信できてる!
以上、SublimeTextからVagrantにファイルをSftp送信する方法でした!
3. Sftpしてから(おまけ)
僕の場合、アップロードしたファイルからデータベースを作る必要がありました。
なのでそこまで確認してみます。
ローカル開発環境内でsqliteにログイン?して、アップしたsqlファイルを読み込みます。
すると、
やったー!ちゃんと作成できてる!!!
しかし、ここまで来るのに1時間近くかかったしまいました。。(´Д⊂ヽウェェェン
この記事が誰かの助けになれば幸いですm(_ _)m