LoginSignup
7
3

More than 5 years have passed since last update.

ChromebookとGoogle Compute EngineでRustツール開発してみた(ただしHelloWorld)

Last updated at Posted at 2017-07-23

tl;dr

前回の記事の実践版。がばがばだけど、とりあえずまとめてみる。
http://qiita.com/migeru/items/4577d4b44ae9a4eef1b4

コンセプト

  • Google Compute Engine(以下GCE)を使ってRustツールを作成(ただしHelloWorld)
  • インスタンスはプロダクト毎に一個とする。使わないときは落としておく。(1個のインスタンスでやると、複数のプロダクトの開発時に、言語のバージョン管理とか設定の整合性を取るのが面倒なので)
  • インスタンスは安さ重視でプリエンプティブVMインスタンスを使用。

プリエンプティブVMインスタンスは、通常インスタンスより価格が安い代わりに、24時間しか起動しないのとたまに勝手にインスタンスが終了する。(体感で一ヶ月に3,4回くらい?)
詳しくは以下のURL
https://cloud.google.com/compute/docs/instances/preemptible?hl=ja

環境

  • マシン - Chromebook
  • ブラウザ - Google Chrome

基本手順

  1. プロジェクト作成(1度作ればOK)
  2. インスタンス作成・起動(プロダクト毎に作成する)
  3. SSH接続
  4. 開発用初期設定
  5. RustをインストールしてHelloWorld

プロジェクト作成

  1. Google Compute Engineにアクセス > https://console.cloud.google.com/compute/
  2. プロジェクト作成、課金を有効にする旨のメッセージが表示されるので、指示に従ってプロジェクトを作成、クレジットカード情報を登録する。

インスタンス作成

好きに設定する。
自分は、設定が楽なのでUbunu16.04を使っている。メモリは3.75GBを使っている。
ただし大事な点が2点

  • ゾーンはasia-northeastを使う(東京リージョンなので回線的にレイテンシが良い)
  • プリエンプティブVMインスタンスにする。(メモリ3.75GBだと$20くらい安くなる) > 管理、ディスク、ネットワーク、SSH 認証鍵をクリック。プリエンプティブの項目をオンにする

作成した場合、自動でインスタンスが起動する。
停止状態だった場合は、接続の横のボタンのメニューから、「開始」をクリック

SSH接続

Chrome拡張が入っていない場合、インストール。
入っている場合はそのまま使う。
拡張機能がないと、Ctrl + wでウィンドウを閉じてしまう。また、Chromeとは別のアイコンでウィンドウが開かれる。

  1. SSH接続を押す(ポップアップブロックされたら解除してもう一度トライ)
  2. ウィンドウを開いたら、右上の左側のボタンをクリックして、Chromeの拡張機能をインストールをクリック
  3. 開いたウィンドウから、拡張機能をインストール
  4. VMインスタンスの画面をリロードする(先程インストールした拡張機能が読み込まれる。)
  5. SSH接続を押して、再度開く
  6. 右上の右のボタンからオプションを開いて、フォントサイズや、コピー動作を変更する。(デフォルトだとCtrl + vでクリップボードの中身がペーストされるが、neoviのキーバインドとかぶってるのでCtrl + Shift + vに変更)

開発用初期設定

開発用の設定はdotfilesで管理している。
以下のURLにしたがってインストール

https://github.com/migutw42/dotfiles

dotfilesの出来栄えは微妙。とりあえずで作ったので、これから改良する。
あと、gitが入っていないと動かないかも。(これを作ったときGCEにデフォルトでgitが入っていると思い込んでた)
Ubuntu16.04でしか動くことを想定していない。(ソフトインストールにapt使ってたり)

主なインストールソフトは以下の通り
* neovim(vim-bootstrapで設定。rustのプラグインもvim-bootstrapのものを使用)
* tmux
* fishシェル(設定するのが面倒なので。いろいろ最初からできるfish様素晴らしい)

neovimはtmuxでない状態で一旦起動すること。Vim-Plugとプラグインをインストールするため。また、tmux内でneovimを起動すると、なぜかVim-Plugがインストールされない.

RustでHelloWorld

  1. 以下のサイトを参考にRustをインストール。(インストール後はシェルの再起動が必要)

    https://www.rust-lang.org/ja-JP/install.html

  2. エディタでHelloWorldを書く(neovimで書いた。)

    hello.rs
    fn main() {
    println!("Hello World!");
    }
    
  1. コンパイルして実行
$ rustc ./hello.rs
$ ./hello
# Hello World!

所感

Google Compute Engineは親切なので、見れば大体の操作はわかるはず。UIに関しては、個人的にAWSよりは使いやすい。Chromebookでの開発に関しては、croutonで色々設定したりするよりは全然やりやすいかなと思う。

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3