2018/05/04

クラウド上のVMとのファイル同期はどうやるのがよいのだろう?

ソースファイルを、ローカルで編集したり、ビルドしたりする。
gitを使っているので、適当なタイミングでpushする。

Linux向けのプログラムなので、ローカルマシンがWindowsではあまり確認がちゃんとできない。
なので、Windowsで実装し、クラウド上のLinuxVMで実行する、ということをしばしば行う。
このとき、どうやってファイルを同期させるのが良いのだろう?
(オープンソースで開発しているので、セキュリティにはそんなに考慮しなくて良い前提)


git経由でやっていたのだが、コミットログが「Linuxで動作確認するためにpush」みたいな感じになってしまい、それで動いたならまだしも、動かないこともしばしば。。。
gitのことを検索すると「コミットログを汚さない方法」みたいなものが結構出てくるのだが、世の中ではそういうやり方をして、なるべく不要なコミットログを残さないように努力しているのだろうか??



あるいは、DropBoxみたいなものを使うという手段もあろう。
Googleドライブだと同期が遅いのでやりづらいのだが、DropBoxは比較的速いので、手元で編集したらすぐにアップされるようだ。
これなら、コミットせずにVMと連携できるし、ファイルを変更するだけでよいから手軽だ。

しかし・・・なんか抵抗がある。
なんかちょっと違うんじゃなかろうか、という、漠然とした思いだけだ。



クラウド上のファイルを正とする、というパターンもありだ。
なんでローカルで編集しているかというと、使い慣れたテキストエディタが使いたいというだけなのだ。
SFTPなんかで編集したいファイルを持ってきて、編集したらアップする、みたいなことはSFTPツールで実現しているものも多い(私はWinSCPでやってる)。
ちょっとした変更だったら、これでもよいのだ。
ただ、複数のファイルを扱ったり、テキストエディタの機能で置換を掛けようとしても、それはできない。

まるまるマウントできると、非常にありがたい。
そういうわけで、今日はAzure Filesを使って、Windowsのネットワークドライブとして接続してみた。
ルータのフィルタリングで445が止められているのに気付かなくて時間がかかったが、困ったのはそれくらいだ(ルータが止めているというのにたどり着くまでが非常に大変だったが)。

WindowsのExplorerから見えるようになって便利なのだが、いくつか問題が。
私の環境で大きい問題は、シンボリックリンク。
CIFSというファイルシステムだからだろうが、シンボリックリンクが使えないようだ。
実行権限なんかは生きているようだから、ファイルコピーすればよいのだけど、そのために作りを変えるのも負けた気がするので避けたい。

また、アクセスがちょっと遅い気がする。
これはVMの方が原因かもしれないので、はっきりしたことは言えない。

あと、ポート445を開けるというのも、ちょっと嫌かも。


いま思いつく方法は、このくらいだ。

なんかいい方法を模索していかねば。。。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。