パラメタライズされたジョブ定義 doc: https://github.com/CircleCI-Public/config-preview-sdk/blob/754df2258d293775722362694d7fefa8fda5d7a0/docs/jobs.md カスタムコマンドでも利用できたパラメータ指定がジョブでも出来るようになっています。 これによって、例えば「同じ一連のテストを異なるNode.jsのバージョンごとに実施」みたいなことがやりやすくなってます。 jobのパラメータを利用するときの注意点として、組み込みのパラメータ( pre-steps , post-steps )があるので、これらは使えないようです。 pre-steps , post-stepsについてはこちらを参照のこと。 executor定義 doc: https://github.com/CircleCI-P
CircleCIを以下のような構成で導入してみた際のまとめ 事前準備 githubにリポジトリがある githubの秘密鍵・公開鍵を持っている githubに公開鍵が登録されている ec2の秘密鍵を持っている ec2に公開鍵が登録されている(authorized_keys) 必要な作業 CircleCIに登録する 管理画面から該当のリポジトリを追加する CircleCIに公開サーバのssh keyを登録する .circleci/config.yml作る プッシュする ビルドを確認する 1. CircleCIに登録する 今回はGitHubでSign Upし連携します。 https://circleci.com/signup/ 2. 該当のプロジェクトを追加する ADD PROJECTから追加します。 3. CircleCIに公開サーバのssh keyを登録する 今回はec2になるので、ec2
CircleCI2.0でphp.iniのmemory_limitを変更しても「Allowed memory size of xxx bytes exhausted (tried to allocate xxx bytes)」エラーが出てしまうときの解決法PHPMySQLCircleCICircleCI2.0 CircleCI2.0でのPHPアプリケーションのビルドで、あるとき「Allowed memory size of xxx bytes exhausted (tried to allocate xxx bytes)」というエラーがPHPUnitのテストで発生するようになりました。 そのときかなりハマったので備忘録として残します。 TL;DR MySQLのmax_allowed_packetが足りていないのが原因で、MySQLのDockerイメージに引数でmax_allowed_pack
こんにちは。突然ですが、テスト書いてますか。カバレッジは計測していますか? 今回はテストカバレッジの履歴の記録・閲覧ができるCoverallsというサービスを試したので、内容を共有したいと思います。 完成イメージ 本記事の説明どおりに設定を行うと、下記のようにCoveralls側でテストカバレッジを確認することが可能です。また、README.mdに貼るバッジも取得できます。 さらに、ビルドやファイルごとのカバレッジの閲覧も可能となっています。 前提条件 すでにテストが書かれていて、カバレッジ計測ツールでカバレッジが取得できる環境がすでにあることを前提に話を進めていきます。 カバレッジ計測ツールのnycやテストフレームワークのJestなどでカバレッジが計測できていること CircleCIの設定がすでに完了していること 今回はテストフレームワークのJestを使いますが、テストカバレッジの測定結
例) TOKEN="12345abcd・・・・" curl -s -u ${TOKEN}: https://circleci.com/api/v1.1/me # もしくは curl https://circleci.com/api/v1.1/me?circle-token=${TOKEN} 参考URL https://qiita.com/yukimura1227/items/0478230c388cc8735b20 説明 トークン(TOKEN)の作成方法 https://circleci.com/account/apiで作成 プロジェクト(ブランチ)別にトークンを分ける方法 https://circleci.com/gh/<CircleCIのユーザ名もしくは組織名>/<ブランチ名>/edit#apiで作成 CircleCIのAPIのendpointsは、全てhttps://circleci
CircleCIではDockerHubにあるコンテナは使用可能 ただし、CircleCIでmachineなどのオプションを使っているとその中身を知りたいときがある machineではcircleci/classicを使っているらしいがDockerhubを探しても見つからない machine https://circleci.com/docs/2.0/executor-types/#using-machine プロビジョニング用のスクリプト CircleCIではスクリプトを使ってコンテナ別にパッケージをインストール https://github.com/circleci/image-builder/tree/master/circleci-provision-scripts 例えばPythonではpyenvを使っている https://github.com/circleci/image-bu
CircleCIで重複したWorkflow(Job)を止める 問題 CircleCIではGitのリポジトリに変更があるたびにWorkflowが実行される 場合によっては、変更が同時にマージされ複数のWorkflowが走ることがある やりたいこと 実行中のWorkflowのうち、リポジトリが同じものは止めたい CircleCIのAPIを使ってWorkflowを止める CircleCIのAPIを叩くだけですが、今回はnodejsを使います (シェルスクリプトでもできますが、ブランチ名がチェインケースやスネークケースの場合はjqが使えないので・・) APIトークンについては以下を参照してください https://qiita.com/f-naoto832/items/89730cb5e3bfcbd34bd2 リポジトリの直下に以下を作成 var request = require('request
CircleCI2.0では、Slackへの通知はWorkflow別に設定できるが、Job別には設定できない ※ CircleCIはGithubと連携していることを前提にしています。 incoming-webhookを使ってJobの正常終了を通知 Slackでincoming wobhookを設定 すごくわかりやすいのでこちらを参考にしてください https://qiita.com/fushikky/items/c7bd05f897eab58ea7e4 Githubのブランチ直下にincoming-webhook.shを作成 例) # !/bin/bash COMMIT_MESSAGE=$(git log --format=%B -n 1 ${CIRCLE_SHA1}) HOOK_URL="<incoming webhookのHook URL>" if [ ${CIRCLE_JOB} = '
CircleCI 2.0 は docker ネイティブなので、setup_remote_docker をすることで docker を使ったテストやビルド等の様々なジョブが実行できます。 しかしながら、例えば docker volume create をやっている場合は、CLI だとそのままでは以下のようなエラーが出てしまいます。 Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.38/volumes/create: dial unix /var/run/docker.sock: connect: permission denied
Nuxt.jsのドキュメントのFAQに、AWSのS3へのデプロイの記述がなかったので、CircleCIでテスト&ビルドをしたあとで、デプロイするまでの手順をまとめました。はじめてのCIだったので、なにか変なところがあったらコメントかどこかでご指摘をお願いします。 CIのサービスに何を選ぶか 最初はいくつかのサービスを比較しようと思ったのですが、面倒になってしまったので、名前がグッと来たCircleCIにしました。使ってみて難しそうだったら別のものを試そうと考えていましたが、余計な心配でした。 対象のリポジトリ/目指すかたち こんな感じでテストを走らせて、ビルドして、AWSにデプロイするまでを自動化したい。 https://github.com/noplan1989/aws-rough CircleCI入門 はじめてのCircleCIだったので、ドキュメントを眺めるところからはじめました。
概要 ある開発中プロジェクトで、これまで JS のテストカバレッジを活用出来ていなかったため軽い気持ちでやっていきをしたら、 開発環境では設定した閾値を越えるのに CI 上ではパスしないためデプロイできないという状況が起こりました。 環境 開発マシン OS: maxOS 10.12.6 Node.js: 10.8.0 npm: 6.3.0 CI (Wercker) OS: Debian stretch-slim Node.js: 8.x npm: 6.x どちらも Jest のバージョンは 23.4.1 を利用しており、 設定も package.json に記述しているため共通のものを利用しています。 また、カバレッジに関する設定は閾値の設定しか行っていません。 Jest 実行時のコマンドは以下。
CircleCIからGoogleの Cloud Source Repositories へのpush手順です Google Cloud Source Repositoriesへpushする事前準備 GCPのサービスアカウントからサービスキーを取得 CircleCIからGCPのCloud Source Repositoryにpushするために、CircleCIのコンテナ内でGCPの認証を行う必要があります。 そのために必要なのが、外部サービス用のサービスアカウントキーです。 サービスアカウント、サービスアカウントキーについてはGCPのドキュメントを参照しました サービス アカウント サービスアカウントとは サービスアカウントは、アプリケーションや仮想マシンの間で使用する特別なアカウントのことです。 GCPのプロジェクト内のアプリケーションはサービスアカウントに毎日発行されるサービスアカウント
Qiita初投稿です! 自分のブログにあげていた記事ですが、参考になればと思い転載します。 はじめに CicleCI 1.0が終了するまで1週間をきりましたね! こんな時期まで移行をしていないのは、夏休みの宿題は後回しにするタイプの方と思われます。 私もつい先日に宿題を終わらせた人間なので、同志のために簡単な説明と参考になるサイトのまとめを。。 1.0と2.0の違い 大きなところだけ!(細かいことは知らない) Dockerベースになった Dockerベースで実行環境を作るようになったというのが1番大きいかと思います。 この時点で「Dockerをよく知らない」かつ「1.0で複雑な設定をしている」あなたは、悠長にしている余裕はありません。速攻とりかかってください。 日頃からDockerを使っているあなた。よかったですね。でもやりましょう。 Workflowができた これまでは「deployme
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く