コンパイラかく語りき

import { Fun } from 'programming'

SublimeTextで作成したファイルをVagrantにSftp送信する方法

ローカル開発環境へのSftp送信に一苦労したのでメモ。

 

 

ドットインストールでこちらのレッスンを受講していました。

dotinstall.com

 

Railsの勉強がてら、ActiveRecordをさらっと勉強しておくつもりでした。

作業環境はVagrantによるローカル開発環境。これもドットインストール様のレッスンに従い導入しました。

 

すると「わかりやすくエディタでやっていきましょう♪」なんて仰る田口様。

 

えっ??( ゚д゚)ポカーン

 

どうやら、SublimeTextで作成したファイルをVagrantにアップロードするとのこと。

 

えっ?どういうこと??

そんなことできるの???( ゚д゚)ポカーン

 

 

全くの初見知識。

 

もうね、僕みたいなポンコツからしたら意味がわからないわけですよ。

 

というわけで「SublimeText Vagrant」でググってみると、

 

duckclogs.hatenablog.com

 

qiita.com

 

あったあった♪

さすがはてなブログ、さすがQiita♪

 

これで一件落着!

 

 

 

 

と思いきや、

Vagrant 側の準備

  • vagrant ssh
  • git clone hoge しておく ★A

 

 

git clone hogeってなんだよ!!(逆ギレ)

 

「しておく」ってのがまた「知ってて当然でしょ??」みたいなニュアンスを出してて、自分のダメさを実感してしまうわけです(´Д⊂ヽウェェェン

 

ちなみにgitについてはRailsチュートリアルで扱ったので、なんとなーくわかる程度。

 

そして試行錯誤すること1時間。。。

 

 

 

できた!!!!(T_T)

こんな自分でもできた。。

 

まさかいないとは思うけど、僕みたいなポンコツのためにメモしておきます。

(基本的には上記のサイトの通り。補足を書きます)

 

------目次------

  1. とりあえずgit clone hogeしよう
  2. SublimeText側の操作
  3. Sftpしたあと(おまけ)

 

1. なにはともあれgit clone hogeしよう

まず、Vagrantを導入したディレクトリに行きます。(ドットインストールにお世話になった場合、mycentosです)

そこでまず、

$ vagrant ssh

としてローカル開発環境を立ち上げます。

次にその開発環境のまま、

$ git clone hogeとします。

(自分の場合はレッスンに合わせてgit clone active_record_testとしました)

 

そこで

$ ls

にてディレクトリを見てみてください。

f:id:chuck0523:20150524100241p:plain

git cloneにて作成したディレクトリが確認できると思います。

SublimeTextからは、このディレクトリにファイルをアップロードする。そんなイメージを持っていてください。

 

2. SublimeText側の操作

さて、Sftpプラグインを導入しましたか??

まず、なんでもいいのでプロジェクトを作成しましょう。

自分の場合、「プロジェクト」が何なのかすらわかりませんでした。そんな方のために、まずはデスクトップに何かしらのフォルダを作りましょう。

f:id:chuck0523:20150524100751p:plain

これをSublimeTextのプロジェクトタブから開きます。

(もちろん、中身はまだ空っぽです)

 

プロジェクトを開くとこのようになっているかと思います。

f:id:chuck0523:20150524101059p:plain

 

次に、Sftpの設定をしていきます。

f:id:chuck0523:20150524101131p:plain

ファイルのSFTPタブからセットアップサーバを選択します。

 

すると、このようなおどろおどろしいファイルが開きます。

f:id:chuck0523:20150524101301p:plain

 

このファイルに対して書き換えを行うことで、Sftp送信を可能にするのです!すごい!

ちなみに、Sftpがよくわからない人は(というか僕も分からないんですが)「作成したファイルをどこかへ送信すること」くらいの認識でいいと思います。

 

書き換えの内容ですが、

再びターミナルに戻って、以下のコマンドを実行します。

$ vagrant ssh-config

(実行するには先ほど立ち上げたvagrant sshからexitで抜けておきます )

 

すると、このような表示が出るかと思われます。

f:id:chuck0523:20150524101732p:plain

この内容を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ファイルを作成しました。)

 

f:id:chuck0523:20150524102413p:plain

 

そして⌘ + sで保存すると、SublimeTextの下の方に「success」という文字が...!

f:id:chuck0523:20150524102526p:plain

 

ターミナル側でも確認してみます。

$ vagrant ssh で起動して、

$ git clone で作成したディレクトリまで移動します。

そこで$ ls で中身を表示すると、

f:id:chuck0523:20150524102718p:plain

やったー!送信できてる!

 

以上、SublimeTextからVagrantにファイルをSftp送信する方法でした!

 

 

3. Sftpしてから(おまけ)

僕の場合、アップロードしたファイルからデータベースを作る必要がありました。

なのでそこまで確認してみます。

 

ローカル開発環境内でsqliteにログイン?して、アップしたsqlファイルを読み込みます。

すると、

f:id:chuck0523:20150524103206p:plain

やったー!ちゃんと作成できてる!!!

 

 

しかし、ここまで来るのに1時間近くかかったしまいました。。(´Д⊂ヽウェェェン

この記事が誰かの助けになれば幸いですm(_ _)m