Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
1分ではじめる、クラウドのようなVPS
ConoHa VPSのコマンドラインツールを作った
2015/02/27 オープンソースカンファレンス2015 Tokyo
1分ではじめる、クラウドのようなVPS
ConoHa
• ご存知(?)VPSサービス
• ブース出しています
https://www.conoha.jp/
1分ではじめる、クラウドのようなVPS
コマンドラインツール
• ConoHaはAPIがない
• コマンドライン操作したい
• 自動化したい
• 某toolbeltっぽいことしたい
某toolbelt
1分ではじめる、クラウドのようなVPS
スペック
• Go言語実装 & シングルバイナリ
• VPSのステータス取得(IPアドレスなど)
• VPS追加/削除/起動/停止
• VPSへの直接ログイン(SSH経由)
1分ではじめる、クラウドのようなVPS
インストール
L=/usr/local/bin/conoha && curl -sL https://github.com/hironobu-s/conoha
ワンライナーでできる!(WindowsはZIPを展開するだけ)
1分ではじめる、クラウドのようなVPS
Go言語所感(1)
• 型に厳しいのは良い。型を柔軟に作れるのも良い。
• エラーハンドリングを強制してくれるのも良い
• 未使用の変数、未使用のパッケージがあるとエラーになるのも良い
• 周辺ツールがそろっていて良いgofmt(コードフォーマッター) godef(関数ジャンプ) gocode(コード補完)
• クロスコンパイルが簡単(TravisCIでMac Win LinuxのバイナリをビルドしてGitHub Releaseにアップ)
1分ではじめる、クラウドのようなVPS
Go言語所感(2)
• $GOPATHで迷う(最初だけ)
• import “github.com/name/pkgname”
とか出てきて最初はわりとギョッとする。
• if err != nil { return err }
を死ぬほど書かされる