Upgrade to Pro — share decks privately, control downloads, hide ads and more …

できるだけ楽して楽しくRails開発しよう

hatappi
February 06, 2019

 できるだけ楽して楽しくRails開発しよう

#reprotech

hatappi

February 06, 2019
Tweet

More Decks by hatappi

Other Decks in Technology

Transcript

  1. Ͱ͖Δָָ͚ͩͯ͘͠͠Rails։ൃ͠Α͏
    Repro Tech: Long Life RailsApps supported by REJOB

    View full-size slide

  2. ⾃⼰紹介
    • Yusaku Hatanaka (@hatappi)
    • Merpay, Inc
    • ϓϥΠϕʔτͰͷRubyΛ࢖ͬͨ׆ಈ
    • roppongi.rbͷΦʔΨφΠβʔ
    • Red Data ToolsͰRed Chainerͭͬͯ͘·͢
    • RailsΛ࢖ͬͨαʔϏεͷ։ൃ <= ࠓ೔͸͜ͷ࿩
    • 煎り⼤⾖が好き

    View full-size slide

  3. Anketとは?
    • Slack上でアンケートをとるためのサービス
    • アンケートの作成や投票はSlack上から⾏う
    • 集計結果はSlack上やWEB上から確認する
    • 今後は回答結果を取得するようなAPIを追加予定
    https://slack.com/apps/ADJRPSY1Y-anket-

    View full-size slide

  4. なぜ作ったのか?
    • Slack Appを作ってみたかった
    • 会社でSlackは使っているけど、もっと使い倒したい
    • 技術を試せる場所がほしかった
    • 僕はドキュメントや記事を読んでわかった気になって
    しまうので実際にそれを試すような場がほしかった
    • サービス作るのおもしろい

    View full-size slide

  5. 今⽇話すこと
    • パッケージのアップデート
    • デプロイ

    View full-size slide

  6. 今⽇話すこと
    • パッケージのアップデート
    • デプロイ

    View full-size slide

  7. gemの更新頻度
    どれくらいですか?

    View full-size slide

  8. • 毎⽇??
    • 毎週??
    • 毎⽉??
    • 気づいたら??

    View full-size slide

  9. 1つ1つ更新のあるgem
    を探すのは⾯倒

    View full-size slide

  10. できるだけ楽したい

    View full-size slide

  11. PRを作成するまでは
    ⾃動でやろう!

    View full-size slide

  12. CircleCIを使う
    • gemの更新には masutaka/circleci-bundle-update-pr を
    使う

    View full-size slide

  13. CircleCIを使う
    • yarnで管理しているパッケージは taichi/ci-yarn-upgrade
    を使う

    View full-size slide

  14. CircleCIを使う
    • 毎週⾦曜⽇に作成されるようにする
    • ⾦曜ロードショーを⾒ながらPRみてマージするだけ!

    View full-size slide

  15. dependabot.com
    • upadteのあるパッケージを1つずつPRを作成してくれる
    • public, personalなリポジトリであれば0円!

    View full-size slide

  16. 今⽇話すこと
    • パッケージのアップデート
    • デプロイ

    View full-size slide

  17. デプロイ⼿順
    複雑じゃないですか?

    View full-size slide

  18. • スクリプト実⾏
    • ⽣成されたファイルをコピー
    • 圧縮してサーバーにアップロード
    • etc
    例えば・・・

    View full-size slide

  19. • スクリプト実⾏
    • ⽣成されたファイルをコピー
    • 圧縮してサーバーにアップロード
    • etc
    "
    खॱϛεͯ͠
    ͍͔ͭࣄނʹͳΓͦ͏
    例えば・・・

    View full-size slide

  20. できるだけ楽したい

    View full-size slide

  21. CircleCIにやってもらう
    • ⼈間はリリースタグをうつだけ!
    • 後は勝⼿にやってくれる

    View full-size slide

  22. まとめ
    • たまにしかやらないことは忘れるので出来るだけ仕組み化する
    • 夏休みの課題と⼀緒でgemの更新とかを後回しにするとあとあ
    と⼤変になるので少しづつやろう
    • CI/CDをCircleCIで実現
    • CircleCIめっちゃ便利!!!
    • よかったらAnketつかってもらえると嬉しいです
    • https://anket.life/

    View full-size slide

  23. IUUQTSPQQPOHJSCDPOOQBTTDPNFWFOU
    宣伝!
    ೔࣌: 2019/02/22(ۚ) 19:00 ʙ 21:30
    ৔ॴ: גࣜձࣾϝϧΧϦ

    View full-size slide