CircleCI

CircleCI で MySQL にパラメータを渡す #CircleCI

TL;DR command 要素を使うとパラメータを渡せる。 - image: circleci/mysql:5.7-ram environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: test command: ['--character-set-server=utf8mb4'] こんな感じにすると動く。 経緯 Invalid datetime forma…

カスタム Docker Image を ECR で管理して、 CircleCI から利用する #AWS #Docker #CircleCI

概要 php のプロジェクトに CircleCI を導入した。 PHP の拡張(特に grpc 拡張)のインストールに時間がかかるため、独自イメージを用意してそれを使うことにした。 イメージの管理には Amazon Elastic Container Registry (ECR) を使ってみた。 ECR でリポ…

CircleCI をローカルで動かそうとしたら image が pull できない #circleci

問題 CircleCI をローカルで動かそうとしたら、なんかエラーになって動かない $ circleci build すると下記のエラーメッセージが出る。 Error: Could not find picard image: failed to pull latest docker image: exit status 1 解決策 メールアドレスでロ…

CircleCIをローカルで動かす #CircleCI

概要 circleciのCLIをインストールするとローカルで動かせるようになります。 公式 を見ながらやってみた インストール Macだとbrewで入れられる。 $ brew update $ brew install circleci brewで入れるとUpdateコマンドは使えないらしい。 $ circleci updat…

Nuxt.jsのプロジェクトにCircleCIを適用する #nuxtjs #circleci

概要 Nuxt.jsのプロジェクトをCircleCIで動かしてみる config.ymlの作成 Nodeプロジェクト用ののテンプレートを利用してconfig.ymlを作成する プロジェクトルートから .circleci/config.yml を作る。 $ mkdir .circleci $ touch .circleci/config.yml config…

CircleCI2.0で別コンテナのMySQLを使ったJavaアプリのCIを行う #CIrcleCI #docker

CircleCIは2.0は、docker imageベースになった。 JavaアプリをCIするときはCircleCIのJava用imageを使えばいいんだけど、テスト用DBとしてMySQLのコンテナを一緒に使うようにしてみた。 1.0のときはそのままMySQL使えたんだけどね。 config.yml 最終的にはこ…

CircleCIでbatsによるbashのテストがエラー #Bash #CircleCI

概要 CircleCIでbatsによるBashのテストをしてたんだけど、特に改修していないのにCIがコケるようになってしまった。 どうもbatsがtputなるコマンドを使っているようで、 tput は $TERM という環境変数が必要なようだ。 CircleCIの使ってるビルド環境から $T…

SonarQubeを使ってみた #sonarqube

概要 Javaで作ってるリポジトリにSonarQubeを適用してみました。 SonarQubeとは? SonarQubeは、ソースコードの静的解析ツールです。 www.sonarqube.org 今回はオープンソースであれば無料で使えるSonarQube.comを利用します。 about.sonarqube.com アカウン…

CircleCIでjacocoのカバレッジレポートをとる #circleCi #jacoco #java

概要 SpringBoot + Spock + maven で開発をしているんだけれど、せっかくテストも書いているのでカバレッジレポートをCI時に取得するようにする。 pom.xmlにjacocoプラグインを追加 ... <build> ... <plugins> ... <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.7.9</version> <executions> <execution> <id>prepare-agent</id> </execution></executions></plugin></plugins></build>

SpockでJavaの無名クラスを使ったらCircleCIがコケた #circleci #java #spock

CircleCIがテストの途中にタイムアウトでこけた。 command mvn test took more than 10 minutes since last output ログを見ても途中で止まっており、結果としてもタイムアウトなので検討つかない。 もちろんローカル環境では発生しない。 Revertなりなんな…

CircleCIでメモリ上限値越えエラー #circleci

現象 CircleCIのビルドが TIMED OUT で失敗して、見に行ってみたら下記のようなメッセージが表示されていた。 Your build has exceeded the memory limit of 4G on 1 container. The results of this build are likely invalid. We have taken a snapshot of…

CircleCIでdot(graphviz)が動かなくなった

概要 qiita.com ↑な感じでDB定義の管理にSchemaSpyを利用しているんだが、リレーションの描画にSchemaSpyは Graphviz を使っている。 しかし最新のビルドでリレーションの描画がされていなかった。 その調査と対応のまとめ。 現象 SchemaSpyで描画されなかっ…