Not your computer? Use a private browsing window to sign in. Learn more
はじめまして!今年1月からジョインしましたtjinjinです。feedforceではアニメインフラを担当しています。ちなみに今季オススメアニメはSHIROBAKOです。 今回サーバCIにDockerを導入しましたので、実際の設定や工夫した点など投稿したいと思います。 feedforceのサーバCI 弊社ではこれまでCircleCIまたはJenkinsとAWSを組み合わせてサーバのCIを行って参りました。 参考: JenkinsでサーバのCIを始めました しかし、CircleCIを利用するプロジェクトが増えるにつれ、CircleCIに実行待ちが発生するようになりました。CircleCIの実行ログを確認したところ、AWSのセットアップに時間がかかっていることがわかったので、環境のセットアップ時間を短縮できるもののはないかと探していました。そんな折、Dockerがいいのではという話を耳にしました
CIツール勉強会@福岡 (http://connpass.com/event/12120/) で、Circle CIの話しを発表したRead less
CIが流行っています。gitにpushするだけで自動でテストをやり、テストが通ったらdeployまでしてくれます。文明ですね。 というわけでDocker対応のCIツールであるCircleCIを使ってみました。 強そうです。 テストアプリ さっそくゴミを作りました。こんな感じです sinatra+unicorn+dockerで動いています https://github.com/meta-closure/circleci_test 使い方 curcle.ymlを書く 手順書みたいなものです。書き方はこういう感じです 大まかな流れとしては machine dependency test deployment のように書きます。 実際に書いてみるとこんな感じです machine: services: - docker dependencies: cache_directories: - "~/do
自分の備忘録兼、社内ハンズオン用の資料なので、足りないところが多いかもしれません。 記事の最後まで進んだ状態が以下にありますので、参考にどうぞ。 honeniq/docker-circleci-sample 事前に必要なもの ローカルでDockerが使える環境 Docker-Toolboxなど DockerHubのアカウント GitHubのアカウント CircleCIはGitHubアカウントでログインできます Ruby Bundlerも必要 大体の手順 GitHubでリポジトリを作って、ローカルにクローン Gemfileを作成 テストの準備をする テストと実装コードを書く CircleCIの設定 GitHubフローでCIを回す DockerHubに自動デプロイ GitHubでリポジトリを作って、ローカルにクローン 項目として作ってみたけど、特に書くことがない。 Gemfileを作成 こんな
Serverspec の Docker Backend を使った Docker コンテナのテストを CircleCI 上で実行する際、多少手こずったので、その試行錯誤によってできた、サンプルプロジェクトを公開しました。 GitHub Repository quay.io Registry CircleCI Builds 前回の記事で紹介した事例は Rails を採用していたので、コンテナ側にも Ruby がインストールされており、コンテナ側にマウントするだけで Serverspec を実行できました。 docker run \ -e DATABASE_URL="${DATABASE_URL}" \ -e REDIS_URL="${REDIS_URL}" \ -v "$(pwd)/docker/serverspec"\:/mnt/serverspec \ --name "serverspec
度々ですいません。cloudpack の かっぱ (@inokara) です。 はじめに 時代は CI です。 泣いても笑っても CI です。 ということで Circle CI を触ってみたいと思います。 Circle CI とは Travis CI のような CI を生業とした Web サービスです。 Circle CI Travis CI GitHub と連携しているので直ぐに始められます。 というわけで、自称インフラエンジニアの自分が Circle CI に慣れるまでのほんの少しのメモです。 使ってみる(1) まずは GitHub との連携から…. カッコイイ Jenkins こんな言い方は失礼かもしれませんが Circle CI も Travis CI もざっくり言うと「カッコイイ Jenkins」だと思っています。(※すいません)Jenkins はコマンド実行結果のステータスコー
CircleCIでDockerコンテナに対してansibleを実行しserverspecでテストをする - さよならインターネット この記事に書かれている内容を実際にやってみた。Ansibleを一旦は触ってみたところから、Circle.CIどころかCI経験が一切ない、ServerspecとDockerも使ったことがないという出発点だったので、得られるものはだいぶ大きい経験だった。完了したレポジトリは以下。 chroju/ansible-ruby-devs Ansibleにテストは必要か? AnsibleはPlaybookに書かれた設定通りにサーバーをセッティングしてくれるツールなのだから、傍証としてのテストは必要ないし、そもそもそれはAnsibleに対する信頼の問題だという話がある。(かのオライリーのServerspec本でも「Serverspecの必要性」を状況に応じて説明した章がある)
In our continous integration pipeline, we are using github, circleci, docker and the Docker Hub. Here is how it goes: a developer pushes to github, circleci pulls the repository, builds a container, runs the rspec tests in that container and then deploys it. However, when we first ran docker run myorg/container bundle exec rspec in circleci we faced the following error: Failure/Error: Unable to fi
サーバの CI ってどうするのが良いのでしょうね。現状やむを得ず行って いますが、やり過ぎ感も否めないです。 [2014-09-14-1] に Wercker+Vagrant+EC2 の組み合わせでこのサーバの CI を始めてから、[2015-02-08-2] に CircleCI+Vagrant+EC2 に変更しま した。そして今回、CircleCI+Docker に変更しました。 理由は EC2 を使うのは大げさだと思い始めたからです。CI 時間の短縮を 期待しましたが、ほとんど変わりませんでした。結果的に、時々 EC2 イ ンスタンスを起動するのに 30 分以上かかり、CircleCI のタイムアウト 時間を超える問題は解決出来ましたが。 Docker 入門できて自己満足は得られたのですが、Docker の使い方ではな いなあというのが正直な感想です。 Docker を使ってサーバの
前回のエントリでは CircleCI 上で Docker を使ってビルドする方法については敢えて触れませんでした。 今回は、CircleCI 上で任意のバージョンの JVM を使ってビルドする為に Docker コンテナを使ってみます。 試行錯誤した結果の circle.yml はこちらになります。参考にしたい方はどうぞ。 machine: timezone: Asia/Tokyo environment: GRADLE_OPTS: -Xmx4G -Dorg.gradle.daemon=true -XX:+HeapDumpOnOutOfMemoryError services: - docker post: - sudo service mysql stop - sudo service postgresql stop dependencies: cache_directories: -
前回、「Dockerコンテナにcookしserverspecでテストをする」ということをやりました。 キャッシュ活用などによる高速化などが課題でした。今回はいくつかの課題を解決させ、テスト時間の短縮を図りました。 (「スピードアップテク」とか書きましたが、勝手に自分がハマってたところを改善したりしてるだけの箇所もあります。) 先に結論:対策後のビルド時間 対策前(build#9) docker imageキャッシュ有効時(build#55) docker imageキャッシュ無効時(build#54) load docker image 1m41s 0m20s 1m00s knife solo cook(nginxのインストール) 2m56s 0m12s 0m21s (other) (1m03s) (0m41s) (1m06s) TOTAL 5m40s 1m13s(!!!!!) 2m27s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く