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

運用と開発が同時並行で進んでいる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. 自己紹介 • 岩本 拓也 ◦ 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
  2. Docker化のメリットとデメリット ➢ メリット ◦ サーバ環境が統一できる ◦ メンテナンスしやすい ◦ 一回の作業で全Docker環境に適応できる ◦

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

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

    Dcokerfile ◦ docker-compose.yml ◦ Gemfile ◦ Gemfile.lock ◦ entrypoint.sh
  5. • 参考記事 ◦ 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
  6. まとめ • Docker for RailsApp!! • but… ◦ Gemfile /

    Gemfile.lock ◦ Config ◦ Shell ◦ Test ◦ CI ◦ ...etc