<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="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 
<dfn>Drone CI</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:">ソフトウェア</anchor>の1つです。</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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Drone CI</anchor> – Automate Software Testing and Delivery</cite>, <time>2022-03-22T03:11:49.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://www.drone.io/">https://www.drone.io/</anchor-external></li></ul></refs><section><h1>版</h1><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OSS</anchor> だと思って使ってたらいつの間にか <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OSS</anchor> 版と非 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OSS</anchor> 版にわかれていた。困ったものだ、要注意。</p></section><section><h1>インストール</h1><section><h1>環境変数 <var>○○</var> が効かない</h1><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> 
<code>DRONE_OPEN</code>,
<code>DRONE_ORGS</code>,
<code>DRONE_ADMIN</code>,
<code>DRONE_SECRET</code>,
<code>DRONE_GITHUB</code>
が反映されない
→ 
その<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>は古い。最新のドキュメントを読みましょう。</p></section><section><h1>環境変数 <code>DRONE_DATABASE_DRIVER</code> が効かない</h1><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> ドキュメントに明記されておらずわかりにくいですが、
<code>DRONE_DATABASE_DRIVER</code>
で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MySQL</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PostgreSQL</anchor>
が使えるのは Enterprise Edition (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">独占ソフトウェア</anchor>) の話。
Community Edition (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OSS</anchor>)
では
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SQLite</anchor> 固定です。</p></section><section><h1>サーバーが起動しない、エラーも何も表示されない</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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MySQL</anchor> データベースを指定していて、
ネットワーク的に接続不可なとき、
エラーも何も表示されず先に進まない (起動しない) ことがある模様。</p></section><section><h1>管理者ユーザーでログインしたはずなのに一般ユーザーと同じ画面しか見えない</h1><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>
<code>DRONE_ADMIN</code>
は古い。
<code>DRONE_USER_CREATE</code>
で設定しましょう。</p></section></section><section><h1>アクセス権限について</h1><section><h1>GitHub 側でアクセス権限が取消されたリポジトリーはどうなるのか?</h1><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GitHub</anchor> 側のアクセス権限がある状態で表示できていた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リポジトリー</anchor>が、
その後 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GitHub</anchor> 側でアクセス権限が取消されたとき、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Drone CI</anchor> 側ではどうなるのか。</p><p><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> 
直後には何も起きません。そのまま表示・操作できる状態です。</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> 
自分で「SYNC」ボタンを押すと <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GitHub</anchor> と状態が同期されるようで、
そのリポジトリーが表示できなくなります。
(管理権限を使って API 経由で SYNC させても同じことができる?)</p></section><section><h1>管理者ユーザーは何でも見れるのか?</h1><p><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> 
管理者ユーザーはどの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リポジトリー</anchor>にもアクセス出来る模様。
リポジトリー一覧はないが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GitHub</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:">URL</anchor> を推測して直接アクセスできる。</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> 
そこから設定ページを開いて、管理者ユーザーだけが変更できる設定項目も書き換え可能。</p></section><section><h1>2回目のログインですが、初回のような登録画面が出てきます</h1><p><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> 
なんでか知らんけどそうなります。利用に支障はないようですので気にしないのが吉。</p></section></section><section><h1>設定</h1><section><h1>組織の秘密を登録したいが画面がない</h1><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> 
組織の秘密の設定は、リポジトリーの設定ページにあります。
「組織の設定ページ」のようなものがないので見つけにくいですね。</p></section><section><h1><code>DRONE_RUNNER_CAPACITY</code></h1><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> 
runner
実行時の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>
<code>DRONE_RUNNER_CAPACITY</code>
は実行環境の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CPU</anchor> コア数くらいにするのが良いなどと説明されています。</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> 
ビルドの処理内容次第、たとえばテストするサーバープロセスの個数などを踏まえて、
実際上はそれよりももっと少ない個数の方が良いのかもしれません。</p></section></section><section><h1>実行</h1><section><h1>1時間ちょうどで自動キャンセルされてしまいます</h1><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> 
リポジトリーごとの設定ページにタイムアウト設定があります。デフォルトが1時間です。</p></section><section><h1>実行タイムアウトがなぜか変更できません</h1><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> 
リポジトリーの設定ページのタイムアウトを変更して保存すると、成功したと表示されるのに、
タイムアウト時間がデフォルトの1時間に戻っています。何度繰り返しても同じです。</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> 
管理者ユーザーでログインして変更すると、ちゃんと変更が反映されます。不思議ですね。</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> 
管理者ユーザーしか変更できない設定項目は一般ユーザーには表示されないみたいなので、
タイムアウトは本来一般ユーザーでも変更可能のはずなのですが。。。</p></section><section><h1>タイムアウトでキャンセルされると、失敗時の手順が実行されません</h1><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> 
<code>.drone.yml</code> 側で失敗時に実行する step を書いていても、
タイムアウトによるキャンセルは時間経過による強制中断で、
失敗時の処理もすべて無視してしまいます。</p><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> 
回避するには Drone のタイムアウトを使わないで自前でタイムアウトを実装するしかなさそうです?</p></section><section><h1>artifacts は?</h1><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:">artifacts</anchor> の機能 (ビルド中に作成したファイルにビルド終了後アクセスできるようにするもの)
は
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Drone CI</anchor> の標準の機能にはなく、やりたければビルド内に自前で実装する必要があります。 
<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="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;24</anchor-internal></src></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="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> 
<cite xml:lang="en">How to access the built artifacts - Support - Drone</cite>, <time>2022-04-07T03:27:54.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://discourse.drone.io/t/how-to-access-the-built-artifacts/1148/5">https://discourse.drone.io/t/how-to-access-the-built-artifacts/1148/5</anchor-external></li></ul></refs></section></section><section><h1>メモ</h1><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> <cite>Install On Linux | Drone</cite>, <time>2022-03-22T04:20:59.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://docs.drone.io/runner/docker/installation/linux/">https://docs.drone.io/runner/docker/installation/linux/</anchor-external></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> <cite xml:lang="ja">OSS Drone CI の 構築方法 - Qiita</cite>, <time>2022-03-22T03:17: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://qiita.com/kurkuru/items/585ca5c83c48664273b2">https://qiita.com/kurkuru/items/585ca5c83c48664273b2</anchor-external></p><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> <cite xml:lang="ja">Drone CI で手軽に Docker コンテナで並列にジョブをぶん回す環境を構築した - シンクロ・フード エンジニアブログ</cite>, <time>2022-03-22T03:11:57.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://tech.synchro-food.co.jp/entry/2018/09/18/184426">https://tech.synchro-food.co.jp/entry/2018/09/18/184426</anchor-external></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> <cite>Database | Drone</cite>, <time>2022-03-22T03:29:58.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://docs.drone.io/server/storage/database/">https://docs.drone.io/server/storage/database/</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> <cite xml:lang="en">Usage of DRONE_USER_FILTER - Support - Drone</cite>, <time>2022-03-22T03:47:52.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://discourse.drone.io/t/usage-of-drone-user-filter/5810/2">https://discourse.drone.io/t/usage-of-drone-user-filter/5810/2</anchor-external></p><p>(<code>DRONE_USER_FILTER</code> は初回登録時に適用されるが、以後のログイン時には検査されない。)</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 xml:lang="en">GitHub - harness/harness: Harness Open Source is an end-to-end developer platform with Source Control Management, CI/CD Pipelines, Hosted Developer Environments, and Artifact Registries.</cite>, <time>2024-10-11T02:58: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://github.com/harness/harness">https://github.com/harness/harness</anchor-external></p><blockquote><p>Harness Open Source represents a massive investment in the next generation of Drone. Where Drone focused solely on continuous integration, Harness adds source code hosting, developer environments (gitspaces), and artifact regestries; providing teams with an end-to-end, open source DevOps platform.</p><p>The goal is for Harness to eventually be at full parity with Drone in terms of pipeline capabilities, allowing users to seemlessly migrate from Drone to Harness.</p><p>But, we expect this to take some time, which is why we took a snapshot of Drone as a feature branch drone (README) so it can continue development.</p></blockquote><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> なんかややこしいことになってるな</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">GitHub - harness/harness at drone</cite>, <time>2024-10-11T03:00: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://github.com/harness/harness/tree/drone">https://github.com/harness/harness/tree/drone</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> <cite xml:lang="en">harness/BUILDING_OSS at drone · harness/harness · GitHub</cite>, <time>2024-10-11T03:01:14.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://github.com/harness/harness/blob/drone/BUILDING_OSS">https://github.com/harness/harness/blob/drone/BUILDING_OSS</anchor-external></p><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>Woodpecker CI</anchor> </sw-see></p></section></body></html>