タグ

2019年8月7日のブックマーク (4件)

  • CrowdWorksデプロイ物語 - クラウドワークス エンジニアブログ

    みなさんさようなら,最近デプロイが趣味の@h3_potetoです. この記事は,僕が趣味で改善していたCrowdWorksのデプロイ周りの大改造の歴史を振り返ります.基的には,デプロイが趣味の方向けの記事です.とても長いです. 手動構築の時代 その昔,CrowdWorksのサーバは手動で構築されていました. 手動でRuby等の設定をいれたサーバを複数台用意し,そこにcapistranoデプロイをしていました. インフラは手動構築だった割に,なぜかBlue/Greenデプロイを実現していました. Blue/Greenの実現方法 まずはじめに, Blueが稼働系 Greenが待機系 です. Blue/Greenデプロイをする際には,Green系にデプロイをして,Blue系と挿げ替え,旧Blue系をそのまま廃棄します. この動作をどこで実現しているかというと,なんとCrowdWorksのアプリ

    CrowdWorksデプロイ物語 - クラウドワークス エンジニアブログ
    akatakun
    akatakun 2019/08/07
    アプリケーションデプロイとインフラデプロイをBlue/Green化したことで、影響範囲が広くなったり、時間がかかるようになったって話,アプリケーションデプロイはIn Placeで、インフラデプロイはBlue/Greenにして解決
  • AWS Solutions Architect ブログ

    SA岩永です。クラウド時代になり、Blue/Greenデプロイと呼ばれる方式を取るシステムが増えてきました。ただ、日語で書かれているBlue/Greenデプロイの情報は多少古いものが多いため、特にクラウドで真価を発揮するBlue/Greenデプロイについて2015年の最後に一度まとめてみたいと思います。 以下は私の個人的な考えに基づくものであり、他にも様々な考え方があります。AWSのデプロイに関する発表でも沢山の考え方が提案されていますし、デプロイをサポートするサービスを多種多様に提供しています。1つの考え方として参考にして頂ければ幸いです。 なおこの記事は、2015年のAWS re:Inventのセッション『(DVO401) Deep Dive into Blue/Green Deployments on AWS』を参考にしています。興味のある方はSlideshareやYoutubeを

    akatakun
    akatakun 2019/08/07
    [Blue/Green][良記事]
  • 今更聞けない! Ruby の継承と mixin の概念を継承リストから学ぶ - Qiita

    ブログ記事からの転載です。 Ruby を学ぶ上で継承と mixin の概念を理解することはとても重要である。 しかし、このあたりの仕組みを学ぼうとすると、include や prepend、特異クラスや特異メソッドなどという様々な機能を理解する必要がありとても複雑である。 そこで記事は『継承リスト』という観点から継承を mixin を学んでみたいと思う。 また、この記事は Ruby 2.4 時点での仕様になる。

    今更聞けない! Ruby の継承と mixin の概念を継承リストから学ぶ - Qiita
  • Git rebaseでコンフリクト時のcheckoutオプションの--theirsと--ours - Qiita

    と行うとコンフリクトが発生しrebase動作が一時停止する。 ここで、BranchAに存在するaの変更をすべて適用したかったので、「BranchBにいたからgit checkout --theirs hoge.txtでしょ」としてgit add hoge.txtしてgit rebase --continue。 しかし最終的に出来てきたのはBranchBのcの変更をすべて適用した結果であった。 やりたい事をやるためには 結論としては、コンフリクトが発生してrebaseの元(BranchA)を適用する際には、git checkout --ours hoge.txtとするべきであった。 動作を見た結果、おそらく以下のようになっている。 rebaseの元となるブランチ(master)に現在のBranchを移す rebaseされるブランチ(BranchA)との共通コミット(o)から順次変更を取り込む

    Git rebaseでコンフリクト時のcheckoutオプションの--theirsと--ours - Qiita
    akatakun
    akatakun 2019/08/07
    rebaseのoursは`git rebase $branch`で指定するブランチ,mergeのoursはcurrent branchで逆になる