$30 off During Our Annual Pro Sale. View Details »

運用と開発が同時並行で進んでいるRailsアプリケーションをDocker対応した事例について

gremito
November 15, 2019

 運用と開発が同時並行で進んでいるRailsアプリケーションをDocker対応した事例について

2019/11/15 WEBエンジニア勉強会 #15

gremito

November 15, 2019
Tweet

More Decks by gremito

Other Decks in Technology

Transcript

  1. 運用と開発が同時並行で進んでいる
 Railsアプリケーションを
 Docker対応した事例について
 2019/11/15 WEBエンジニア勉強会 #15 gremito

  2. 自己紹介 • 岩本 拓也 ◦ gremito(@grem_ito) • フリーランス エンジニア ◦

    2017/5に中途入社したドリコムを 2019/7/12に退職 ▪ ゲーム基盤・QAエンジニア ◦ 現在、QAエンジニア / Unityインストラクター / CSM • コミュニティ活動 ◦ 八耐: 八時間耐久制作会(仮) ◦ Podcast: ものラジ ◦ UNIBOOK: 日本Androidの会 Unity部 ◦ Unity Fukuoka ← 12/28(土) @EngineerCafe ◦ Unity Developer Jobs ◦ QAエンジニア勉強会 ← NEW 2
  3. 八耐

  4. 八時間耐久制作会(会):八耐 • 8時間でモノ作りして発表して交流する会
 • 2017年から東京でもはじめました!
 • 約8年ほど参加・運営
 https://www.facebook.com/hachijikan/

  5. 八時間耐久制作会(会):八耐 • 8時間でモノ作りして発表して交流する会
 • 2017年から東京でもはじめました!
 • 約8年ほど参加・運営
 https://www.facebook.com/hachijikan/ ご参加お待ちしておりますー!

  6. Podcast


  7. Podcast
 日頃からもの作りしている人と
 もの作りについて話し合う
 もの作りトークラジオ
 
 略して『ものラジ』!!


  8. https://monorazi.hateblo.jp/ https://soundcloud.com/monorazi

  9. https://monorazi.hateblo.jp/ https://soundcloud.com/monorazi 視聴してくれると嬉しいです!>< もの作りトークをしたい方 ゲストに出たい方 是非お待ちしてます!!

  10. アジェンダ • Docker化のメリットとデメリット • Dockerとdocker-compose • Docker 入門 • Docker化の落とし穴と沼

    • まとめ
  11. Docker化のメリットとデメリット ➢ メリット ◦ サーバ環境が統一できる ◦ メンテナンスしやすい ◦ 一回の作業で全Docker環境に適応できる ◦

    開発からデプロイまでのバリューストリーム がスムーズになる ➢ デメリット ◦ 本番(=STGも)では採用しずらい ◦ Windowsユーザーはさらに一苦労 ★ トレードオフ ◦ 管理コストを下げられる ⇔ 学習コストがかかる ◦ 開発メンバー全員のスキルアップ ⇔ 学習コストがかかる
  12. Docker化のメリットとデメリット ➢ メリット ◦ サーバ環境が統一できる ◦ メンテナンスしやすい ◦ 一回の作業で全Docker環境に適応できる ◦

    開発からデプロイまでのバリューストリーム がスムーズになる ➢ デメリット ◦ 本番(=STGも)では採用しずらい ◦ Windowsユーザーはさらに一苦労 ★ トレードオフ ◦ 管理コストを下げられる ⇔ 学習コストがかかる ◦ 開発メンバー全員のスキルアップ ⇔ 学習コストがかかる 【今回の目的について】 1. ローカル環境統一化 (※ただし新規入場者には今まで通り環境構築をやってもらう) 2. 容易に検証できる環境を手に入れる
  13. Dockerとdocker-compose

  14. Dockerとdocker-compose Dockerfile docker- compose.yml

  15. Docker 入門 https://docs.docker.com/compose/rails/

  16. Docker 入門 • 最初は0から環境を作ると覚えやすい • Quickstar: Compose and Rails ◦

    Dcokerfile ◦ docker-compose.yml ◦ Gemfile ◦ Gemfile.lock ◦ entrypoint.sh
  17. Play Demo...


  18. Docker 入門 https://github.com/gremito/docker_for_rails

  19. Docker 入門 https://github.com/gremito/docker_for_rails

  20. Docker化の落とし穴と沼 1. githubや独自ドメインなどからインストールする必要があるGemについて 2. アプリと連携している別アプリやモジュールなどのコンテナー化 3. バージョンを合わせられないときがある 4. シェルスクリプトの作成 5.

    curl: (7) Failed to connect to 127.0.0.1 port 9200: Connection refused 6. config周りの整備
  21. • 参考記事 ◦ Parallel Selenium Test With Docker ◦ コンテナ時代のDevOps

    〜Azure Web Apps for Containers + Docker + Jenkins + SeleniumでイマドキのCI/CDをやってみる [理論編]〜 ◦ How we used Docker to deploy schibsted.pl ◦ 事例から考えるDockerの本番利用に必要なこと ◦ 開発、リリース、運用のサイクルを回す――アメブロのフロントエンドにおけるモダンな DevOps環境作り ◦ Steps in the outer-loop DevOps workflow for a Docker application ◦ 業務アプリ開発者のための、コンテナ仮想化ツールDockerをつかったインフラ構築ことはじめ ◦ CI/CD: Using GitLab + Docker + Ansible ◦ Angular Continuous Delivery / Deployment with gitlab-ci, stage on commit and prod on git-tag ◦ ...etc
  22. まとめ • Docker for RailsApp!! • but… ◦ Gemfile /

    Gemfile.lock ◦ Config ◦ Shell ◦ Test ◦ CI ◦ ...etc
  23. 続きは懇親会で