Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

https://circleci.com/docs/2.0/postgres-config/#optimizing-postgres-images CircleCI は PostgreSQL の Docker イメージ circleci/postgres を Docker Hub で公開しています。この Docker イメージでは、データベースディレクトリのパスを環境変数 PGDATA で設定しています。つまり、この環境変数値を変更して利用すれば良いですよ、と書いているわけですね。 ドキュメントでは Dockerfile の内容が例示されているため、自分でイメージをビルドする必要がある様にも読めますが、実際にはこのバージョンのイメージも提供されています。circleci/postgres の -ram で終わるタグがこれに該当します。 Docker イメージの違い 一例として、 circl
初めに これは 第2のドワンゴ Advent Calendar 2017 24日目の記事です。 この記事では、Terraform + CircleCI 2.0 + Ansible を使ったCD(Continuous Delivery) 環境構築方法について解説します。 CD(Continuous Delivery) とは CDと略されますが、Continuous Delivery と Continuous Deployment と2つの意味で使われることが多いです。 両者の違いについては、上記のURLで解説されているため、説明は割愛しますが、以下継続的デリバリーの略語としてCDを使用します。 CD を行うために必要なモノ インフラストラクチャー CI/CDツール デプロイツール 以上のものが必要です。 今回の事例では、インフラストラクチャーは AWS上にTerraformで構築しました。
CircleCI では、処理の途中でエラーが検出されると、後続処理は実行されず、CI がそこで中断してしまいます。CI の多くは、そのような挙動であると思いますが、ここでは途中でエラーが発生しても、処理を最後まで継続して、最後にエラーを報告する方法について書いてみます。 表現に迷ったのですが、クロージング、Finally、Teardown そういった感じの、最後にかならず実行される処理を表現する方法についてです。 環境 CircleCI 2.0 (2017-07-30 執筆時点) 書き方 書き方さえ分かってしまえば難しくないので、最初に書き方から。 version: 2 jobs: build: machine: true steps: - run: name: 後始末をしなければならない処理 command: | # ACL 変更など - run: name: エラーで終了する可能性のあ
https://circleci.com/docs/google-authの翻訳。Testing with Google Cloud Test Labで説明されていた内容のうち、CircleCIからCloud Test Labでのテストを実行する上で必要になる認証について。 概要 gcloudコマンドラインツール使いアプリをGoogle Cloud Platformにデプロイする前に、gcloudコマンドラインツールに適切な権限を与えるための認証が必要になります。したがって、JSON Service Accountを作成する必要があります。このService Accountは、base64でエンコードしCircleCIの環境変数へ追加します。追加した環境変数はあなたのビルドスクリプトでJSONファイルにデコードし、それをgcloudツールの認証に使用します。認証後、gcloudツールをあな
この記事は LIFULL Advent Calendar 2017の10日目の記事です。 株式会社 LIFULL 技術開発部の冨田です。 はじめに 社内でも自分自身の開発しているツールでもCircleCI2.0を利用し始めるようになりました。 今回は下記のように動作するように設定しました リモートにブランチをpushした時にLint,UT,カバレッジ計測する リモートに「v[0-9]+(.[0-9]+)*」タグをpushした時にBuildしてGitHubにバイナリをアップロードする 環境 Go 1.9 CircleCI 2.0 CIサービス codecov.io コードカバレッジ可視化できるサービス golint Linter goverage 複数パッケージを1発でカバレッジ計測できるツール gox 複数OS、アーキテクチャをビルドできるツール ghr GitHub Release pa
きっかけ CrowdWorksさんやSmartHRさんが、CircleCIの2.0にしたら、 CIの実行時間が短くなったというブログをあげていたので、 自分もCircleCI2.0を試してみました。 今回はRailsのWebアプリで試しています。 思った以上に色々詰まったので、備忘録としてあげておきます。 環境 Ruby 2.4.1 Rails 5.1.3 PostgreSQL 9.5 1. CircleCIのドキュメント通りに実行 まずは、CircleCI のドキュメント通りに実行します。 CircleCI1.0の時から、設定ファイルの置き場所が変わったので要注意です。 プロジェクトディレクトリ直下に、 .circleci/config.yml ファイルを作成して、以下のように記述します。 version: 2 jobs: build: parallelism: 3 # working_
CodeDeployのエラー確認方法 1.CodeDeploy agentログ EC2にSCPかSSHで入って以下のログをチェック /var/log/aws/codedeploy-agent/codedeploy-agent.log 2.scriptの実行ログ EC2にSCPかSSHで入って以下のログをチェック /opt/codedeploy-agent/deployment-root/(deployment-group-ID)/d-HU7MZ2XTF/logs/scripts.log 3.コマンドラインから EC2にSCPかSSHで入って以下のコマンドを打ってみる。これでEC2インスタンスにインストールしたCodeDeployのエージェントがちゃんとインストールされているかの確認が可能。 $sudo yum info codedeploy-agent 読み込んだプラグイン:priorit
CircleCI 2.0でAndroid関連の静的解析結果をPullRequestで指摘する - Qiita で、CircleCI側が用意したdockerイメージにRubyの実行環境が入っていなかったため、回りくどいことをしていました。 (workflowsを利用して、コードをattachしつつ、別のdockerイメージを動かす) その記事をベトナムの子会社に共有して数時間後、 https://github.com/circleci/circleci-images/pull/75/files というPRを教えてもらいました。 CircleCIの提供しているdockerイメージに、Rubyの実行環境が入ったようです。 これを使うことで、Rubyのコンテナは必要なくなりそうです。 ということで、やってみました。 変更点例 一部消しすぎてたので、追加修正。 https://github.com/
CircleCIのテスト並列実行 CircleCIは複数のコンテナを利用してテストを並列実行させることができる。 コンテナを増やすとお金がかかる。 コンテナを増やすだけテストを早く終わらせることができる。 問題点 コンテナに割り振ったテストの実行時間にばらつきがあると、最終的なテストの完了時間=最もテストに時間がかかってるコンテナとなってしまう。 解決策 テストファイル毎の実行時間を保存して、再度テストする際は前回の実行時間を元に各コンテナにテストファイルを配分する。 Knapsack Proとは https://knapsackpro.com 各種CIサービスに対応したテストを分割することだけに特化したサービス。 CircleCIのドキュメントにさり気なく書かれている。 使い方 基本的には https://github.com/KnapsackPro/knapsack_pro-ruby
前回は、PR自体の属性(milestoneとかassignee)に対してのチェックを行いました。 今回は、FindBugsとAndroid Lintの結果を通知してみます。 最終的な差分は こちら のようになりました。 手順 Dangerfileの修正 http://techlife.cookpad.com/entry/2017/06/28/190000 を参考に、下記のような処理を追加しました。 # Findbugs findbugs.gradle_task = "app:findbugs" findbugs.report_file = "app/build/reports/findbugs/findbugs.xml" findbugs.report(true) # Android Lint android_lint.gradle_task = "app:lint" android_li
FROM golang:1.9.0 ENV _HOME=/root RUN apt-get update RUN apt-get install -y unzip RUN curl https://glide.sh/get | sh RUN mkdir $_HOME/download RUN curl -o $_HOME/download/go_appengine_sdk_1.9.58.zip https://storage.googleapis.com/appengine-sdks/featured/go_appengine_sdk_linux_amd64-1.9.58.zip RUN unzip -q -d $_HOME $_HOME/download/go_appengine_sdk_1.9.58.zip ENV PATH=$_HOME/go_appengine:$PATH RUN
前回の記事で、単純な静的サイトのオートデプロイフローまで完了した後の続き。 後編 「問い合わせフォームもサーバレスでDevOps!」 認証 AWS Cognito 処理 AWS Lambda 通知 AWS SES を利用して、もちろんサーバレスで。 Gibhubへのstaging/masterへのpush のみで、 CircleCI経由で各種環境へ自動デプロイを実現。 前提 前回同様の続きなので、 s3site.proudit.jp -> 本番サイト st.s3site.proudit.jp -> ステージングサイト が、すでにGithub+CircleCiにてデプロイ可能である前提で進める。 構築内容 Cognito準備 フォーム/JavaScript準備 Lambda準備 SES準備 CicriCIデプロイ処理修正 オートデプロイテスト Cognito準備 CognitoはWebアクセ
だが、指定できるのは、パブリックなリポジトリにあるイメージだけなので、プライベートなリポジトリを使っている場合は、このやりかたはつかえない。(正しく動くものとして、これみよがしに Amazon ECR のログインを書いているのはそのため) (2017/09/12 追記) 一番上に追記したように docker image の指定に aws_auth という指定が増えて、ECRのイメージをそのまま使えるようになりました。 「circleci 2.0 docker-compose」でググるとハマる 「circleci 2.0 docker-compose」でググると、以下のようなページがヒットする。 Installing and Using docker-compose How to Build a Docker Image on CircleCI 2.0 ここに罠となるキーワードが登場する。s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く