-
-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DojoPaaS のコードを node から Ruby に移植したい #110
Comments
あ、間違って coderdojo.jp に transfer してしまった... >< すみません 💦 元に戻しました (>人<;) 💦 |
🤔.oO(DojoCast リポジトリを coderdojo.jp (Rails) にマージしたときと同様に、DojoPaaS も coderdojo.jp (Rails) にマージできるとメンテしやすいので理想的ではありそう) まぁでも工数によるのかなぁ。もし工数が大きく変わるなら、node スクリプトから Ruby スクリプトに移植するだけの方が良さそう >< 💦 ひとまず、
という手順の方が良さそう 😊 |
なるほどありがとうございます!!! 👆のリンクのREADMEあたりを見た感じ、TraviCIで動かしていた、さくらサーバーの初期設定を行う部分を、Rails側から行えば勝利という感じですね! まずは上げていただいたnodeスクリプトが何をしているか(何を満たすようにRubyで書き直せばいいのか)を確認していきます...!! |
(さくらのAPI,以前みたときはドキュメント化されていないパラメーターが多くてなかなか厳しかった印象がありますが、すでに動いているサービスを横移動させるなら大丈夫そうですね...) 💭 🤔 |
ですね! そんな感じです ;) ちなみにこれまでの運用経験から分かった知見は次の2つで、それぞれが上記の 1. と 2. のアイデアの背景になっている感じです 😸
|
全体的なPR時のサーバー生成周りの動きの調査
|
サーバー生成スクリプトは、なんかServerクラスの Lines 1 to 7 in 6094f7d
実際に呼び出されているのは、grepした感じ Lines 119 to 134 in 6094f7d
だと思われる |
createメソッドにハッシュで初期値を流すとよしなに生成される世界観.... |
基本的に Lines 41 to 47 in 6094f7d
を見ると、 sakuraのAPIクライアントライブラリっぽい Rubyの横移動を考えると、同様のgemを探すか、気合でHTTPを叩くかになりそう |
これはサーバーを「create」or 「destroy」の動作をするメソッドを提供するインスタンスになる createの方は
が行われる。 destroy側は
が行われる。 それぞれのアクションはAPIを叩くのに対応している。 |
ということで、サーバーの初期設定のスクリプトを読んでいきます dojopaas/startup-scripts/112900928939 Line 9 in 6094f7d
( 🤔 なぜansibleをいれているんだろう...? 使うのかな...? ) |
TravisCIの反映スクリプトはかなり素朴な、CIからgitを動かす実装でした。 現状PRベースで行っているので、同様のことは実装する必要はあるかな...と思いました。 ということでRubyへの移動を考えていこうかなと思います。
このあたりをまず行います |
sakuraのAPIクライアントライブラリっぽいgemをrubygemsに
使うとしたら fog-sakuracloudかなと思いますが、これはHTTPを叩いた方がいい気がしてきました |
Rubyでもりもり書く前に、CoderDojoのreails appに組み込むので |
まぁ一旦動くスクリプトをパッと書いて確かめてみようかな |
ご無沙汰してます! たまたま目についたのでいくつかお返事をw
これは、WordPress をインストールしたいとかマイクラをインストールしたいとかの要望に対して、実際にはなかなか難しいだろうなというのがあって、インスタンス起動時に自動的にセットアップする方法ないかなと思っていたのでインストールしたのですが、その後どうしようとしてたのかは忘れましたw たしかSlackのコマンドでインストールできるようにできへんかな。。。ぐらいの感じだったと思います。 あと、さくらさんの API については、これを作った後で一度互換性のない変更が入っていたので(はっきり覚えてないですが、API からのレスポンスが変わったとかだったような。。。)、少なくくとも2年以上前にメンテが止まってるライブラリとかですと不具合があるかもです。 |
おっコメントありがとうございます!!
なるほど! ありがとうございます。 🙏 なるほど、APIレスポンスが変化している感じなんですね! |
APIはこれを読みますさくらのクラウドAPI ver1.1 📖 👀 |
gem使うとしたらDL数的にfogしかなさそう もし直接叩くの諦めてfog使うなら.travis.ymlのrubyのバージョン更新したりとかしてPRだすとよさそう... |
fogも見たらlast update 3years ago.... |
hog側、見た感じさくらの対応しているAPIのバージョンが現在と同じだったので なんとか使えそうな気がします (使うかどうかは悩んでいます...) |
過去のコミットを見て思い出したのですが、仕様変更があったのは以下のコミットの内容ですね。 で、Fog の ほかにもパケットフィルタリングの API も叩く必要があってこれも |
@miya0001 ありがとうございます!! |
実装していくにあたり、テストでモックを使えば良いのですが、今回利用しているさくらサーバーに、テスト(CIなどで回すテストでなく、確認程度)で実際にAPIを叩くことになりそうなのですが、その場合はどうすれば良いのでしょうか 🤔 (CoderDojo側で確保しているサーバー台数などの制約など...) |
@AnaTofuZ お、じゃあいつもの感じで 1Password for Team でアカウント情報を共有しますね ;) |
@AnaTofuZ 追加しました! 後ほど確認してもらえれば 😉🔐✨ |
@yasulab 早い! 💨💨 💨 💨 ありがとうございます ❗️ ❗️ 🙏 確認できました |
さくらのコンソールからログインして石狩第2ゾーンに様々なものがあることを確認しました! |
💭 (定期的にコードに出てきたresolveはjsのこれらしい...) |
2019年9月16日時点の進捗 cc/ @AnaTofuZ
|
無事 1f47c62 のコミットでTravisCI経由でサーバーが立ったことが確認された 🎉 |
さくらから返信が来ました。内容は「様子見で、またなにかあればお問い合わせお願いします」という旨でした。その為、今回は移植完了という感じで大丈夫だと思いました。 残タスクとして、READMEの修正と軽く動きのtweakがあるので、こちらを行ってcloseしようと思います! |
@yasulab なんとなく雰囲気分かりました😊凄い✨👏 後ほどこちらも記事にしてみようと思います📝✨ |
よろしくお願いします...!! (>人< )💖✨ |
こちら #136 で対応できたので Close しますね ;) |
プロトタイプを開発していただいた @miya0001 さんに許諾をいただいけたので、Ruby の開発会社である @yasslab チームで開発および運営を引き継ごうと考えています 🚜💨
まずは技術調査から...? 🔍💨
さしあたって、そもそも Ruby に移植する際にどのぐらい工数がかかるのかを確認した方が良さそうです🤔💭 現在ちょうど @naopontan さんに CoderDojo 周りの開発をお願いしているので、まずは移植できるかどうかの F/S をしていただけると嬉しいです...!! 🙏
関連リンク
The text was updated successfully, but these errors were encountered: