CI/CD Conference 2021
![数時間かかる週一リリースを毎日何度も爆速でできるようにするまで / CI/CD Conference 2021](https://cdn-ak-scissors.b.st-hatena.com/image/square/1ef4baa2c05018aedc159376169dcd7669081fdb/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F3e042cb2aeca404e8d0645793595fea0%2Fslide_0.jpg%3F18939168)
Cloudflare、ファイアウォールに追加した「正規表現のミス」が全面的なCDNダウンの原因と報告。「キルスイッチ」で解除 日本時間で昨夜11時50分頃から約30分のあいだ、CloudflareのCDNが全面的にダウンし、同社のサービスを利用していたWebサイトなどが影響を受けた問題について、同社はブログを更新。 今回のCDNがダウンした原因は、ファイアウォールに追加した新ルールの中に正規表現のミスが含まれていたためであることを明らかにしました。 参考:CloudflareのCDNが全面的に約30分ダウンし、世界中のWebサイトが影響を受ける。原因はソフトウェアの動作不良。ロールバックで対応 ファイアウォールに新ルールを追加したことが引き金に 同社のCDNにはWebアプリケーションファイアウォールの機能があり、新たにこのファイアウォールに追加したルールの中に間違いが含まれていたことがCP
こんにちは。かたいなかです。 現在関わっているプロジェクトで、Terraformの適用をイイ感じに行う方法を検討しています。 そのなかで、GitHubのPRコメントのコマンドでTerraformのplanやapplyを行う、Atlantisというツールが良さそうだったのでご紹介します。 Atlantisとは Cloud Posseにより開発されている、GitHub/GitLab/BitBucketのPull Request上のコマンドでTerraformのワークフローを実行するツールです。 Atlantisを使用すると、例えば以下のような開発フローが実現できます Terraformのコードを変更し、GitHub上でPull Requestをオープン 開発環境と本番環境それぞれのディレクトリで plan が自動で実行され、結果がPR上にコメントとして追加 PR上からコマンドで変更を開発環境に
2016/10/31 PHPにおけるシンボリックリンクを使ったデプロイの危険性について(「realpath_cache」和訳) PHP サーバーサイド この文書は@julienPauliさんによる記事「realpath_cache」の日本語翻訳です。元々は@gilbiteさんがKLab社内向けに翻訳したものでしたが、日本語では見たことがない指摘を含んでおり今でも有用だと考えたため、@julienPauliさんの了解を取った上で@hnwが修正・追記して公開するものです。 はじめに PHP に realpath_cache_get(), realpath_cache_size() という関数があることをご存じでしょうか? また、php.ini に realpath_cache から始まる設定項目があることは? realpath cache は知っておきたい極めて重要な概念です。 特に、コードの
今や開発環境はローカルにあるのが一般的です。OSを合わせたい場合でもVMを使えば簡単に実現できます。問題はコードが書き終わった後のデプロイではないでしょうか。どのサーバにどのコードを反映し、どんなタスクを実行するのか、ライブラリの変更があるのかなどを適切に管理する必要があります。 Ruby/Ruby on Rails界隈ではCapistranoというソフトウェアが使われることが多いです。Capistrano自体は汎用的なデプロイツールですが、PHPであればやはりPHP製のツールの方が分かりやすいでしょう。そこで今回はDeployerというPHP製のデプロイツールを紹介します。 Deployer — Deployment Tool for PHP Deployerのセットアップ Deployerはとても簡単にセットアップできます。本体をダウンロードして、パスの通ったところに配置するだけです。
こんにちは。@ryuzeeです。 アプリケーションのデプロイを楽にするためにDockerを使いたいけど、別にクラスタは必要ない規模だったりクラスタの管理もしたくないという人は多いのではないかと思います。 そこで、今回は、DockerとCapistrano3を組み合わせて単にデプロイを楽にする方法を紹介します。 構成図まず今回の構成図はこんな感じです。AWS上での構成例になっていますが別にどの環境でもあまり関係ない普通のWebアプリケーションを想定してください。 実現したい要件次に実現する要件です。特に変わったことはありません。 いつも同じ方式でデプロイするダウンタイムなしでデプロイするデプロイに失敗したら簡単にロールバックできるようにするサーバが増えてもデプロイの方式は変えなくて済むようにするサーバを再起動してもサービスは自動で復旧する方式では方式を見ていきましょう。 Webアプリケーショ
gitで最低限のデプロイ環境を作る際のメモ。 いろいろなCIツールを使うまでもない、小規模なコンパイルいらずのWebアプリのデプロイ環境を作る。 CIツールを使う場合でも基礎となる知識なので整理しておく。 やりたいこと ローカルで開発。 リモートにpush pushを拾って、公開ディレクトリにpull イメージ 図で書くとこんな感じ。 今回は、独自のリモートリポジトリを使うが、ここがGitHubとかでもいい。 前提条件 ローカル、リモートにgitがインストールされていること(Mac想定) リモート(サーバ)にはsshで透過ログインできること 手順 まずは、push,pullの流れを手動でやってみる。 リモートリポジトリの用意(リモート) とりあえず、外からは非公開かつ、チームがアクセスできるディレクトリを用意し、リモートリポジトリにする。
こんにちは。Tokyo Otaku Mode(以下 TOM)ソフトウェアエンジニアの稲田です。 TOM が運営している otakumode.com は現在 1 日約 3、4 回ほどの頻度で更新されています。 これを多いと見るか少ないと見るかは人によって違うと思いますが、デプロイのたびにサイトにアクセスできない状態になっていては、まともなサイト運営とは言えないでしょう。 そこで、サイトへのアクセスを一瞬も止めることなくデプロイする、いわゆるホットデプロイと呼ばれるものが必要になります。 TOM ではアプリケーションサーバーに Node.js を使っており、既に Cluster モジュールを使った独自のホットデプロイの仕組みが実装されています。 今回はこのホットデプロイを Docker と Node.js でもできるようにしていきます。 Docker とは Docker, Inc.(旧 dot
Miiverse とは任天堂株式会社が運営しているウェブサービスであり、世界中の Wii U やニンテンドー3DS、そして PC やスマートデバイスから利用することができます。 AWS 上でマルチリージョン構成をとり大量のサーバを抱える Miiverse のデプロイを支える技術と運用上の工夫、そして株式会社はてなと任天堂株式会社が共同で開発する Git リポジトリの同期システムの構築を通して得られた経験をもとに、大規模なウェブサービスを素早くかつ安全に改善する方法を紹介します。 ※本資料は YAPC::Asia Tokyo 2015 での発表資料となります。 http://yapcasia.org/2015/talk/show/9ec2791c-05e5-11e5-81fa-79c97d574c3a
Serverspec本の献本ありがとうございました.とても面白かったです.詳しい書評はすでに素晴らしい記事がいくつかあるので,僕は現チームでどのようにServerspecを導入したか,どのように使っているかについて書きたいと思います. Serverspec導入の背景 今のチームではサーバーのセッアップおよびデプロイにChefを使っている.本にも書かれているようにこのような構成管理ツールを使っている場合はそのツールを信頼するべきであり,Serverspecのようなテストツールは必要ない.僕らのチームもそのような理由でServerspecの導入には至っていなかった. しかしアプリケーションが複雑になりChefのレシピも混沌とするようになるとそれは成立しなくなる.見通しの悪いレシピはChefへの信頼度を落とす.信頼度の低下はデプロイ不信に繋がり人手(筋肉)によるテストが始まる. サーバーの数がそ
(翻訳): Ansibleを使ったデプロイに関する一考察¶ (訳注: この記事は Thoughts on deploying with Ansible の翻訳です。著者のRamon de la Fuente さんから許可を得て、翻訳・公開しています。元記事の公開は2014年6月ですが、2015年1月現在にも通用する話だと思います) 私たちのデプロイ手順を簡単にするために Ansible で roleを書きました(以前は Capistrano を使っていました)。このroleは今やかなり完璧で、本番環境に使い始めています。しかし作り始めた当初はいくつかの点で議論する必要がありました。今回みなさんとその議論を共有しようと考えたわけです。 デプロイとは?¶ 最初に "デプロイ" を定義しましょう。デプロイするとき、ユーザーはすでに "Provisioning" を終えており権限なども適切に整って
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く