<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <dfn>CircleCI</dfn> は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CI</anchor> サービス (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webアプリケーション</anchor>) です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Linux</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mac OS X</anchor> に対応しています。</p><section><h1>環境変数</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CircleCI</anchor>
で動作中かどうか判定するために、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>の
<code>CI</code>
や
<dfn><code>CIRCLECI</code></dfn>
を使えます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;49</anchor-internal></src></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml">CI</code> はいろいろな <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CI</anchor> サービスで使われています。</comment-p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> <cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>の使用 - CircleCI</cite>, <time>2020-10-03T08:09:18.000Z</time>, <time>2020-10-04T02:01:14.435Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://circleci.com/docs/ja/2.0/env-vars/#%E5%AE%9A%E7%BE%A9%E6%B8%88%E3%81%BF%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0">https://circleci.com/docs/ja/2.0/env-vars/#%E5%AE%9A%E7%BE%A9%E6%B8%88%E3%81%BF%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> 
同じプロジェクトの他のリポジトリーの環境変数はコピーしてくることができます。
他のプロジェクトからはコピーできません (地味に不便)。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> 
環境変数は秘密の値を保存する用という扱いらしく、
設定画面でも値の一部だけが表示され、それ以外は隠されて見えません。
同じプロジェクトの他のリポジトリーにコピーだけができて、
変数の値は見れないし変数名の変更もできないので、
一度登録したら削除以外は何もできないものと思った方がいいです。</p></section><section><h1>Heroku deploy 設定</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 1. リポジトリーを追加する</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> 2. 設定 → 「Heroku Deployment」 → 「Step 2: Associate a Heroku SSH key with your account」</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> 3. <code>Makefile</code> に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Heroku</anchor> 用の書き換えを追加 (一例):</p><figure><pre class="code">create-commit-for-heroku:
	git config --global user.email &quot;dummy@test&quot;
	git config --global user.name &quot;dummy&quot;
	git remote rm origin
	rm -fr deps/pmtar/.git deps/pmpp/.git modules/*/.git
	git add -f deps/pmtar/* #deps/pmpp/*
	#rm -fr ./t_deps/modules
	#git rm -r t_deps/modules
	git rm .gitmodules
	git rm modules/* --cached
	git add -f modules/*/*
	git commit -m &quot;for heroku&quot;</pre></figure><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">submodule</anchor> やビルド結果など、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CircleCI</anchor> 側で用意して <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Heroku</anchor>
側では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">pull</anchor> するだけで良い状態にするための変更を加える。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 4. <code>circle.yml</code> (一例):</p><figure><pre class="code">dependencies:
  override:
    - make deps
test:
  override:
    - make test
deployment:
  heroku:
    branch: master
    commands:
      - &quot;<strong>[</strong>[ ! -s \&quot;$(git rev-parse --git-dir)/shallow\&quot; ]<strong>]</strong> || git fetch --unshallow&quot;
      - make create-commit-for-heroku
      - git push git@heroku.com:<var>HEROKUAPPNAME</var>.git +`git rev-parse HEAD`:refs/heads/master</pre></figure><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml">deployment:</code> の部分がポイント。他は何でも良い。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end> 
この機能いつの間にかなくなった。リポジトリーごとに設定が必要ですんごい面倒なんだけど&gt;_&lt;</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> 
教訓: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CircleCI</anchor> の便利な機能は無くなりがちなので、頼ってはいけない</p></section><section><h1>API キー</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="93" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[93]</anchor-end> 
ユーザー設定とプロジェクト設定の両方に API キーの画面があります。
特定のプロジェクトでだけ API を使いたいからプロジェクトの方の API キーでいいかというと、
そうでもなくて、そういうときはユーザー設定の方の API を使わないとプロジェクトが見つからないとエラーになるだけです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[94]</anchor-end> 
2.0 になった頃から、こういう似たような設定があちこちにできて正しい方をうまく選ばないと思ったとおりに動作しない、あんまり親切に誘導してくれない、っていうケースが増えた気がしませんか。</p></section><section><h1>Web API から build を指示</h1><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> 
<cite>CircleCI API v1.1 Reference - CircleCI</cite> (<time>2017-06-10 05:03:08 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://circleci.com/docs/api/v1-reference/#new-build">https://circleci.com/docs/api/v1-reference/#new-build</anchor-external></p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[102]</anchor-end> 
これは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非互換変更</anchor>で使えなくなりました。</p></history><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[103]</anchor-end> <cite>CircleCI API</cite>, <time>2023-08-14T08:46:30.000Z</time>, <time>2023-08-14T15:14:08.049Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://circleci.com/docs/api/v2/index.html#operation/triggerPipeline">https://circleci.com/docs/api/v2/index.html#operation/triggerPipeline</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="104" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[104]</anchor-end> 実行例</p><pre>$ curl -X POST https://circleci.com/api/v2/project/gh/<var>org</var>/<var>repo</var>/pipeline?circle-token=<var>token</var> \
    --header 'content-type:application/json' \
    --data '{&quot;branch&quot;:&quot;<var>branch</var>&quot;}'</pre></section><section><h1>指定日時にジョブを実行</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <cite xml:lang="ja">ジョブのスケジューリング (ビルド用の cron) – CircleCI Japanese Support Center</cite>
(<time>2020-01-11 11:00:23 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://support.circleci.com/hc/ja/articles/115015481128-%E3%82%B8%E3%83%A7%E3%83%96%E3%81%AE%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0-%E3%83%93%E3%83%AB%E3%83%89%E7%94%A8%E3%81%AE-cron-">https://support.circleci.com/hc/ja/articles/115015481128-%E3%82%B8%E3%83%A7%E3%83%96%E3%81%AE%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0-%E3%83%93%E3%83%AB%E3%83%89%E7%94%A8%E3%81%AE-cron-</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> 
他の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cron</anchor> っぽいものの実装と同じく、指定時刻に正確に実行されることはまずありません。
時間帯にもよるのかもしれませんが、
まず数分は遅れて開始されます。
(もしかすると有料のほうが優先的に実行されたりするのかもしれませんが。)</p></section><section><h1><code>machine</code> の VM を指定する</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> 
以前はデフォルトが勝手に最新の環境になっていたはずですが、
いつからかとても古い環境に固定されていて、
新しい環境にしたいなら自分で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">VM</anchor>
を指定しなければならなくなったようです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> 
「最新」と指定する方法が用意されていないので、
更新版が出るたびに、都度手動で書き換えないとならず、
不便です。
(古いのを使っていると、
ある日突然 
<code>apt-get</code>
できなくなったり、
突然 
<code>pip</code>
できなくなったりします。取得の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> が変わったり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>が変わったりする変化に追いつけなくなるからです。)</p><pre class="code">         &quot;machine&quot; : {
            &quot;image&quot;: &quot;ubuntu-2004:202008-01&quot; // これを都度書き換えること
         },</pre><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="112" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[112]</anchor-end> <cite xml:lang="ja">Linux Image Deprecations and EOL for 2024 - Announcements / Notices - CircleCI Discuss</cite>, <time>2024-10-11T05:25:11.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://discuss.circleci.com/t/linux-image-deprecations-and-eol-for-2024/50177">https://discuss.circleci.com/t/linux-image-deprecations-and-eol-for-2024/50177</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="113" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[113]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="112" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;112</anchor-internal> 最近は <code>default</code> の指定ができるように。なぜ最初からそうしなかった。
しかしそれと引き換えに今までの指定はみな無効になるという💩</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="114" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[114]</anchor-end> どうしても<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非互換変更</anchor>しないと死んじゃう病にでも罹ってるの???</p></section><section><h1>context</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> 
context は workflow 内の job ごとに指定できます。
(build の step 単位では指定できません。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> 
指定した context が organization に登録されていないときは、
その job がエラーになって実行されません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> 
context で設定できるのは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>だけ。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSH</anchor> 鍵も登録できたら便利なのに。</p></section><section><h1>非互換変更</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CircleCI</anchor>
は一度盛大な非互換変更をやらかした前科があります。
仕様が完全変更されて、
修正しなければ何1つ動作しなくなるという凶悪なタイプでした。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> 
次にいつ繰り返されないとも限りませんから、
継続して運用していくシステムに使うのは避けた方が無難かもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <cite xml:lang="en">CircleCI 1.0 End of Life on August 31, 2018</cite>
(<time>2018-03-01 10:04:53 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://circleci.com/blog/sunsetting-1-0/">https://circleci.com/blog/sunsetting-1-0/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <cite xml:lang="en">Sunsetting CircleCI 1.0 - CircleCI</cite>
(<time>2018-03-01 10:04:54 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://circleci.com/sunset1-0/">https://circleci.com/sunset1-0/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> 実行環境を新しくするのは大変結構。しかしなぜ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に完全非互換な変更を強要するのか。
古い設定ファイルも自動変換して実行するが動作結果は保証されない、
くらいの緩やかな移行計画を立てられないものか。
突然期限を区切ってこういうことを言ってくるから、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クラウド事業者</anchor>は信用できない。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> 
設定ファイルも UI も、 2.0 になって面倒になったなあ。 1.0 より柔軟性は上がっているのだけど、
1.0 では簡単にできたことが複雑になっている。ほとんどの用途において改悪でしかないと思うんだが。
<time>2018-08-18T12:12:48.800Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> 
どんどん UI が複雑で理解不能になっていくなあ。今思い返すと 1.0 の頃が一番わかりやすかった。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> 
強制的に新 UI に切り替えられたみたい? 
ジョブの実行順序が日付順にならなくて変な順序になっていて、
使い物にならない。。。
<time>2020-08-19T00:55:35.200Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> 
実行時間の長い古いジョブより実行時間の短い新しいジョブの方が先に出てくるようになったから、
現在実行中のジョブ一覧として機能しなくなったのが原因?</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> 
retry with SSH したジョブは一覧表に出てこない。
昔は出てたのに workflow の実行順にまとめて表示に変わってから出なくなった。
おかげで今どこでジョブが実行されてるのか一覧表を見てもわからないという糞仕様w</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> 
前は成功したジョブも必要あらば再実行できたのに、
今見たらできなくなってた。
<time>2021-06-09T04:21:32.100Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> 
昔は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRC</anchor> サーバーへの通知の設定はプロジェクト設定ページ内に項目があったのが、
いつの間にか <code>.circleci/config.yml</code> で手作業で書かなければならなくなったようです。
(変更のお知らせは来ていない気がしますが、それとも重要、要変更と書かれていなくて見落としていたのでしょうか。)</p><p>ところが設定項目がなくなっただけで機能は残っているみたいで、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRC</anchor> サーバーへの通知はずっと動き続けています。
(だから仕様変更がいつ行われたのかすらわからないのです。)
しかし設定の変更も解除もできないのです。どうしろというのでしょう。
<time>2021-06-19T00:32:31.400Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> 
また非互換変更の通知が来たぞ、どうなってんの?
<time>2021-12-03T01:57:09.0Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> 
開発工程の最適化のための <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CI</anchor> なのに、こう非互換変更ばかりで振り回されてるとむしろ開発コスト上がってるんだよなあ。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> 
やっぱ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GitHub Actions</anchor> に移行するのがいいんだろうなあ。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> 
なんかまた挙動変わったな?
<time>2022-01-12T05:08:38.500Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> 
「All」を選んでもすべてにならない (もう1回選ばないといけない)
とか頭おかしい仕様変更しやがって</p></section><section><h1>互換性はあっても気づきにくい変更の罠</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="95" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[95]</anchor-end> 
いつのまにか yml の記述形式が更新されていて、それに合わせてドキュメントが更新されているのに、
元々の .yml ファイルに古いバージョン番号を書いているせいで思ったように動作しないことがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[96]</anchor-end> 
バージョン番号を更新すればいいだけのことなのですが、エラーメッセージにはバージョンが違うとは一言も出てこないし
(エラーにならないこともあるし)、
ドキュメントもバージョンいくつからですとははっきり書いていないし、
例文も一部を示しているとバージョンが入っていないことがあって、
バージョンが理由だというのがわかりにくい。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="97" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[97]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バージョニングの失敗</anchor>でユーザーが混乱させられる典型例ですね。</p></section><section><h1>料金値上げ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</anchor-end> <cite xml:lang="ja">CircleCI Container Plan Migration Guide - Announcements - CircleCI Discuss</cite>, <time>2022-02-18T08:31:48.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://discuss.circleci.com/t/circleci-container-plan-migration-guide/42938">https://discuss.circleci.com/t/circleci-container-plan-migration-guide/42938</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</anchor-end> 利用の程度によって異なりますが、数万円レベルの値上げになることもありそうです。
(長く使っているユーザーほど使い込んでそうだから、値上げ幅が高そう。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</anchor-end> 
前にメール来たときは何もしなければ Free plan (無料) に自動移行するって書いてたくせに、
今度来たメールには Performance plan (従量課金) に自動移行するって書いてるぞ、
無茶苦茶だな。
<time>2022-06-02T02:26:33.00Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;86</anchor-internal>
前に来たメールを信じて何もしないと利用状況に応じて急に値下げになることもあれば、
急に大幅値上げになることもあり得るわけで。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">消費者</anchor>に一方的に不利な料金変更とも言い切れないから法的には無効な契約変更ではないのかもしれないけど、
利用者の明示的な承認を得ずにこんな変更をしてしまうのは感じが悪い。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</anchor-end> 
半月以上前に解約して Free plan に移行してるのに、
プラン変更しないと Performance プランに自動移行するよメールがやってきた。
どうなってんの!?
<time>2022-06-30T00:00:08.600Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> 
メールで案内されるプラン移行のガイドページ、
古いまま更新されてないっぽくて、
旧プランの終了日は未定とか書いてあるのよね。
顧客対応が杜撰すぎない?</p></section><section><h1>解約</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</anchor-end> 
Performance プランは解約しても期限まで有効みたいなことが書いてありました。
詳しくはよくわかんない。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</anchor-end> 
それ以前からあった container-based プランは解約するとその場で無効になります。
(公式のドキュメントを探したけど見つけられなかった。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</anchor-end> 
解約するとそれ以前は表示されていた支払履歴まで見れなくなりました。</p></section><section><h1>Docker</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="105" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[105]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CircleCI</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Docker</anchor> 実行環境は何か特別らしく、
手元環境や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GitHub Actions</anchor> では普通に動作する単純な
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Docker</anchor> image の単純な操作でも
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Circle CI</anchor>
ではなんだかよくわからない謎エラーが出ることがしばしば。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="106" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[106]</anchor-end> 
なんとか <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Circle CI</anchor> の実行環境の影響だとまで突き止めても、解決方法がわからないことが多すぎて...</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="107" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[107]</anchor-end> 
昔からずっとなおらないし、 Docker image 側の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> を新しくするほど悪化するし、
多分今後悪化することはあっても良くはならなそうだよなあ。。。
<time>2023-11-18T12:33:25.800Z</time></p></section><section><h1>Bitbucket</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GitHub</anchor> に対応している。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BitBucket</anchor> には<del>対応していない。</del> その後対応しました。</p><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>Bitbucket</anchor> </sw-see></p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> 最低$19/月。</p><p>まだ試していないが <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Travis CI</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Wercker</anchor> と違って <code>heroku</code> コマンドを直接使えそう。</p><p>IRC 通知はあるが、失敗・復活が privmsg でそれ以外が notice という使い分けができない。(他の CI でもできないが。)</p><p>管理権限がないリポジトリは読み書き権限があっても登録できない。気づいたら勝手に fork していて(?)罠っぽい。</p><p>横に長い画面想定で作られていて使いにくい。特に設定ページ。それと一部フォームコントロールが奇抜なのを除けば今風の UI だけど悪くはない。</p><p>試用では 6 containers 利用できるが、一番安いプランでは 1 container しかない。二番目に安いプランでも 6 はない。</p><p>課金は user/organization 単位なので、自分のリポジトリと組織のリポジトリ両方で試したりすると両方の試用カウンターが勝手にスタートしてしまってもったいないw 罠としか思えないwww</p><p>deploy フェーズの排他制御みたいなのは特にないので、複数コミットのデプロイが同時動作することがある。
<time>2014-10-08</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en-US">Continuous Integration and Deployment on CircleCI just got better: now it’s free. | The Circle Blog</cite>
( (<time>2014-11-20 05:45:53 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://blog.circleci.com/continuous-integration-and-deployment-on-circleci-just-got-better-now-its-free/">http://blog.circleci.com/continuous-integration-and-deployment-on-circleci-just-got-better-now-its-free/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> 基本機能は無料化されました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 公開リポジトリーの実行結果は公開される。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> 好きな <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Docker</anchor> コマンドを使える。</p><figure class="amazon"><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Circle CI</anchor></p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> 昔から <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UI</anchor> は微妙ですが、同種サービス内ではましな方です。
昔より少しは改善されています。使っていれば慣れるというのもあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 同種他サービスとは違って、やりたい操作がどこにあるのか想像付かないということはない。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <cite>CircleCI API Documentation - CircleCI</cite>
(<time>2017-06-10 05:03:08 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://circleci.com/docs/api/">https://circleci.com/docs/api/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <cite xml:lang="en">Clearing the source cache? - Build Environment - CircleCI Community Discussion</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"></anchor>著, <time>2017-06-13 23:34:32 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://discuss.circleci.com/t/clearing-the-source-cache/2771/14">https://discuss.circleci.com/t/clearing-the-source-cache/2771/14</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Git</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タグ</anchor>や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">submodule</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> の変更など、一部の変更はキャッシュされてしまい、
反映されません。 現時点で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UI</anchor> から消去する方法がなく、サポートに問い合わせるしかないようです。
<time>2017-06-13T14:35:38.200Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite xml:lang="en">Pricing and Plan Information - CircleCI</cite>
(<time>2017-09-30 08:29:11 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://circleci.com/pricing/">https://circleci.com/pricing/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <cite>Continuous Deployment with Heroku - CircleCI</cite>
(<time>2017-09-29 11:16:08 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://circleci.com/docs/1.0/continuous-deployment-with-heroku/">https://circleci.com/docs/1.0/continuous-deployment-with-heroku/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <cite>Configuring CircleCI - CircleCI</cite>
(<time>2017-09-29 11:16:08 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://circleci.com/docs/1.0/configuration/">https://circleci.com/docs/1.0/configuration/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> GitHub organization に対応する CircleCI 側の管理権限は、
GitHub 側で管理者になっているユーザーに与えられます。
<time>2017-12-01T08:41:16.600Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> 請求情報は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web API</anchor>
https://circleci.com/api/v1.1/organization/hub/{org}/invoices
から取得できます。管理権限のあるユーザーのアクセストークンがあれば取得できます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> workflow 微妙だなー。複雑で使いにくい。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <cite xml:lang="en">Caching Docker images in Workflows - CircleCI 2.0 - CircleCI Community Discussion</cite>
(<time>2018-02-03 16:53:44 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://discuss.circleci.com/t/caching-docker-images-in-workflows/16507/2">https://discuss.circleci.com/t/caching-docker-images-in-workflows/16507/2</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <cite>Parameterized Builds - CircleCI</cite>
(<time>2018-02-24 07:21:29 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://circleci.com/docs/1.0/parameterized-builds/">https://circleci.com/docs/1.0/parameterized-builds/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <cite>Running Jobs With the API - CircleCI</cite>
(<time>2018-02-24 07:21:29 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://circleci.com/docs/2.0/api-job-trigger/">https://circleci.com/docs/2.0/api-job-trigger/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> 
設定ファイルが間違っていると、
Jobs のリストを見ても何も実行されていなくエラーに気づかないことがある。
Workflows
を見るとエラーが出ていたりする。
(とてもわかりにくい。)
<time>2020-01-11T08:04:35.900Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> 
Pipeline は実行中なのに Workflow は未実行になっていたり (何も動いていないことになってる)、
表示が怪しいことが多い。
システムを必要以上に複雑化したから、
おかしな不具合が出まくるようになったんやで。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> 
Pipeline はジョブが追加されてすぐに実行中に変わるから、
実行時間 = ジョブ追加からの時間で、
実際に何かを実行してる時間ではない。
実際になにかするのは Workflow のほうだけれども、
そちらの実行時間は表示されないから、
その待ち時間は何もしていないのに延々実行時間だけが進んでいく虚無になる。
本当の実行時間は個別に奥深くのページを開いていかないとわからない。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> 
そんなわけなので「RUNNING」の表示は本当の実行中と、何もしていない待機中を含んでいるのがとてもわかりにくい。
昔は待機中は別の表示だったんだが。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> 
そろそろ 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GitHub Actions</anchor>
への移行も検討していいのでは?</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> 
前は実行中 (未完了) のジョブでも再実行 (ジョブをコピー)
できたのに、
今はできなくなった。
失敗が確定して後処理中 (まだ実行完了していない) に再実行予約できなくなって不便だ。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> 
どれが実行中でどれが未実行かさっぱりわからなくて草</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> 
実行完了前のジョブを再試行したいときは、
キャンセルしたら再試行ボタンが有効になるので推し放題という裏技w
一度実行開始されてしまうとキャンセルしづらくなる (その時点で中断されてしまうし、
artifacts にアクセスできなくなってしまう) 
ので、実行開始前に中止して再試行しておくべきというバッドノウハウもいいところ。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> 
Parallel job のいくつかが失敗、いくつかが成功、いくつかが実行中のとき、
失敗したものしか表示されなくなった。以前は実行中のものも表示されていたはず。
わかりにくくなった。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> 
retry しても最初のジョブが登録された順のままだから、
一覧表を見てもどれが最近完了したもので、
どれが昔のものか、さっぱりわからん。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> 
Workflow 中の job のいくつかを、他のいくつかより先に実行させたいとき、
<code>requires</code> で完了を待たせることはできるが、
実行開始だけを待たせる方法がない。
書いた順番に実行されるのかと思いきや、
後の方が先に実行されることがある。
(例えばテスト完了を待たずにデプロイをしたいので、両者を同時に実行できる余裕があれば同時に、
実行環境が埋まっていればデプロイを先に実行させたいのに、
テストが実行環境を埋めてしまうことがある。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> 
昔は他のprojectから1個ずつ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>のインポートできたよね??
なんか全部一括インポートしかできなくなってて不便なんですけど。。。
<time>2021-02-01T07:08:29.100Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> 
いつも必要な機能だけピンポイントで消し去ってて草</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> 
最近営業メールがうざい、まだこれ以上金払えって?</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> 
ログの見てると何もしてないのに勝手にスクロールするし (テスト完了してるから最新の情報が追加されたわけでもない)、
ログの途中をクリックしても勝手に末尾にスクロールするし、
本当に意味不明すぎる・・・。</p><p>しかもこの意味不明な挙動になってもう何ヶ月も放置されていて、
修正する気はないのかわざとこういう仕様になっているらしい、まったく理解不能。
開発者自身はこのサービスを使っていないのかも?</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> 
SSH有効で実行するとログの先頭に接続先の情報が出てくるけど、ログの末尾にどんどん情報(?)が追記されていくから、接続先をコピペしようと上にスクロールすると勝手に末尾にスクロールされるし、コピペのため選択しようとクリックしても末尾にスクロールされる、って地獄が待ってるんだぜ。このサービス設計したやつ狂気じみてるだろ?</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[74]</anchor-end> 
完了予想時間が出るようになったのは便利。珍しく良い変更。</p><p>しかし出るときと出ないときがあって、出現条件が不明瞭なバグ(?)はいただけない。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> 
一覧画面が最新の情報に更新されるときと、数時間前の情報が表示されたままかわらないときがあるのも、わけわかんないのよね。
動作に一貫性がなくて困る。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> 
令和4年1月末くらいの変更 (status に不具合告知が載ってた &amp; Twitter にも被害報告が投稿されてたやつ)
のあと実行時間が倍くらいに増えてるんですけど・・・なんでやねん</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> 
単体でのビルド時間はあまり変わっていないのだけれども、 Docker 関係のオーバーヘッドが増えてるのかな? 障害もその辺をいじってる感じの症状だったし。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> 
なんかどんどんおかしくなってくなあ。
(ユーザーにとっては) 「何もしてないのに壊れた」がこのサービスには多すぎて辛い。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> 
ビルド時間が伸びるのって、従量課金にとっては深刻な問題では... まさかわざとやってるとは思わんけど、
同じコード動かしてるのに時間が倍かかって課金が倍請求されるとしたら大問題では?</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</anchor-end> 
いつぞやの UI 変更以来、タイミングによっては個別ページから再実行はできるのに、
一覧ページは再実行できなくて不便になったよね。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="98" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[98]</anchor-end> 
ログの行の横にコピーボタン出てきたから行をコピーできるのか、便利だなと思って押してみたら行へのリンクがコピーできるだけで草</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="99" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[99]</anchor-end> 
同じ workflow 内の job の同時実行するしないはある程度制御できるみたいだけど、
違う workflow の実行の排他制御はできないみたい。だから同じプロジェクトで最大1個しか走らせない、
みたいなのができない。
(プライベートリポジトリーだと最大実行数制限があるから、逆にこれができてる? (アカウント(?)単位になっちゃうけど。))</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="100" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[100]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="99" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;99</anchor-internal> 同じ要望がたくさん、何年も前から公式掲示板に書かれているのに改善の見込みなし、、、</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[101]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="99" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;99</anchor-internal> プライベートリポジトリーでも最大実行数が実質無制限?になってたらしい。だめじゃん。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="108" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[108]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CircleCI</anchor> さんも商売なので無料枠有限なのは理解できるけどさあ、
1つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">workflow</anchor>の途中の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">job</anchor>までは実行しておいて途中からcreditが枯渇しましたって実行中断するのは陰湿だよねえ
<time>2024-06-22T13:13:44.200Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="109" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[109]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CircleCI</anchor> さん10日ほど前にこっそり?<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor>の仕様変更?して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求本体</anchor>に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor>
を入れてあっても <code>Content-Type</code> がついてなければ黙って無視するようになったらしい。
そのせいで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求本体</anchor>は指定できるけど<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求ヘッダー</anchor>は指定できない外部サービスの呼び出しがおかしくなってる(引数を無視するだけなのでエラーにはならずおかしな挙動になってる)。
<time>2024-06-25T02:57:55.900Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="110" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[110]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CircleCI</anchor> が悪いとは言い切れないけど今まで出来てたことができなくなるのは印象悪いよね。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="111" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[111]</anchor-end> 
あとはまあ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor>の設計が悪い感はあるよなあ</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[115]</anchor-end> また画面変わったのか <time>2026-03-29T04:22:29.144Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="116" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[116]</anchor-end> 今までの基本操作がどこにあるのか見てわからない・・・ どうして毎回こうも見事に今までの操作感を破壊できるんだろうか・・・ <time>2026-03-29T04:22:57.835Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="117" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[117]</anchor-end> 利用者に嫌がらせしないといけないKPIみたいなのあるんだろうか・・・ 毎回何人を困らせました! 何人脱落しました! みたいなの <time>2026-03-29T04:23:44.700Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="118" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[118]</anchor-end> 使いにくい所はそのままで使いやすいところは改悪、しびれるなあ <time>2026-03-29T05:58:01.389Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="119" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[119]</anchor-end> ssh タイムアウトまで2時間って表示されるけどちょうど1時間で閉じられるじゃねーか <time>2026-03-29T08:32:03.754Z</time></p></section></body></html>