Carpe Diem

備忘録

CircleCI

CircleCIのsshで困ったこと

概要 CircleCIにはビルドが失敗した際のデバッグ手段としてRerun Job with SSHが提供されてます。 これを押すとEnable SSHというステップが挟まれ、そこに書いてあるsshコマンドをターミナルで実行することでCircleCIで実行中のジョブ内に入ることができます…

CircleCIのDynamic Configで差分ビルド

概要 CircleCIのDynamic Configでconfig.ymlを分割管理する - Carpe Diem ↑ではファイルを分割管理する方法を説明しました。 今回はpath filteringを使って差分ビルド(変更のあるディレクトリのみビルド)する方法を説明します。 環境 CircleCI 2.1 circlec…

CircleCIのDynamic Configでconfig.ymlを分割管理する

背景 CircleCIを使っているのですが 多数のリポジトリを管理している config.ymlが肥大化している。けれど殆どは似たような記述 といった背景がある上で、新しいjobやworkflowを各リポジトリに適用していく際に コピペ漏れが起きやすい レビューがつらい と…

fatal: could not read Username for 'https://github.com': terminal prompts disabledが出たら

概要 CIツールでプライベートリポジトリをgo getしようとするとたまに遭遇する fatal: could not read Username for 'https://github.com': terminal prompts disabled の対応方法をまとめます。 原因 go getはデフォルトだとHTTPSで通信しようとしますが、…

CircleCIでのslack連携 (Slackアプリ版)

背景 以前CircleCIの新UI後のslack連携を書きました。 今見るとまたやり方が変わっている(Webhook URL→Slackアプリ)ので、やり方を説明します。 環境 CircleCI v2.1 circleci/slack v4.4.2 手順 大きく3ステップあります。 Slackアプリを作る CircleCIのC…

CircleCIの新UIでのslack連携 (Webhook URL版)

追記 現在(slack orb v4)は新しい連携方法に変わっています↓ christina04.hatenablog.com 以下(slack orb v3)は古い連携方法です。 概要 旧UIでは以下のような設定画面でslack連携を行っていましたが 新UIからはこの設定方法はサポートされなくなり、新しくS…

npm install する時のnpmのバージョンを固定する方法

概要 npmのバージョンを上げた(v6.x.x)ところ、以下のissueと同じケースに当たってCircleCIのキャッシュが効かない問題が起きました。 github.com 具体的には 開発ではMacを使用している 開発用MacとCircleCIのNode.js、npmバージョンは同一である CircleCI…

CircleCI 2.1 でconfigの記述をシンプルにする

概要 christina04.hatenablog.com でCircleCIの使い方を説明しましたが、2.1からconfigの記述がよりシンプルになりましたので説明します。 環境 CircleCI 2.1 設定 CircleCI側 まずはAdvanced Settingsで2.1の機能が使えるようにします。 古いプロジェクトだ…

CircleCI 2.0 でworkflowを使ったtagからのデプロイ

概要 CircleCI 2.0でtagからのビルド&デプロイをできるようにします。 主に使う機能としては workflow cache です。workflowはビルドパイプラインのようなもので、実行ジョブを細かく分けて順に実行させることができます。 上の例ではmasterブランチにマー…