[7] Drone CI は、 CI ソフトウェアの1つです。
[8]
DRONE_OPEN
,
DRONE_ORGS
,
DRONE_ADMIN
,
DRONE_SECRET
,
DRONE_GITHUB
が反映されない
→
その環境変数は古い。最新のドキュメントを読みましょう。
DRONE_DATABASE_DRIVER
が効かない[33] ドキュメントに明記されておらずわかりにくいですが、
DRONE_DATABASE_DRIVER
で MySQL や PostgreSQL
が使えるのは Enterprise Edition (独占ソフトウェア) の話。
Community Edition (OSS)
では
SQLite 固定です。
[9] MySQL データベースを指定していて、 ネットワーク的に接続不可なとき、 エラーも何も表示されず先に進まない (起動しない) ことがある模様。
[10]
環境変数
DRONE_ADMIN
は古い。
DRONE_USER_CREATE
で設定しましょう。
[11] GitHub 側のアクセス権限がある状態で表示できていたリポジトリーが、 その後 GitHub 側でアクセス権限が取消されたとき、 Drone CI 側ではどうなるのか。
[12] 直後には何も起きません。そのまま表示・操作できる状態です。
[13] 自分で「SYNC」ボタンを押すと GitHub と状態が同期されるようで、 そのリポジトリーが表示できなくなります。 (管理権限を使って API 経由で SYNC させても同じことができる?)
[14] 管理者ユーザーはどのリポジトリーにもアクセス出来る模様。 リポジトリー一覧はないが、 GitHub リポジトリーの URL を知っていれば、 自分で URL を推測して直接アクセスできる。
[15] そこから設定ページを開いて、管理者ユーザーだけが変更できる設定項目も書き換え可能。
[16] なんでか知らんけどそうなります。利用に支障はないようですので気にしないのが吉。
[23] 組織の秘密の設定は、リポジトリーの設定ページにあります。 「組織の設定ページ」のようなものがないので見つけにくいですね。
DRONE_RUNNER_CAPACITY
[26]
runner
実行時の環境変数
DRONE_RUNNER_CAPACITY
は実行環境の CPU コア数くらいにするのが良いなどと説明されています。
[27] ビルドの処理内容次第、たとえばテストするサーバープロセスの個数などを踏まえて、 実際上はそれよりももっと少ない個数の方が良いのかもしれません。
[17] リポジトリーごとの設定ページにタイムアウト設定があります。デフォルトが1時間です。
[18] リポジトリーの設定ページのタイムアウトを変更して保存すると、成功したと表示されるのに、 タイムアウト時間がデフォルトの1時間に戻っています。何度繰り返しても同じです。
[19] 管理者ユーザーでログインして変更すると、ちゃんと変更が反映されます。不思議ですね。
[20] 管理者ユーザーしか変更できない設定項目は一般ユーザーには表示されないみたいなので、 タイムアウトは本来一般ユーザーでも変更可能のはずなのですが。。。
[21]
.drone.yml
側で失敗時に実行する step を書いていても、
タイムアウトによるキャンセルは時間経過による強制中断で、
失敗時の処理もすべて無視してしまいます。
[22] 回避するには Drone のタイムアウトを使わないで自前でタイムアウトを実装するしかなさそうです?
[25] artifacts の機能 (ビルド中に作成したファイルにビルド終了後アクセスできるようにするもの) は Drone CI の標準の機能にはなく、やりたければビルド内に自前で実装する必要があります。 >>24
[6] Install On Linux | Drone, https://docs.drone.io/runner/docker/installation/linux/
[3] OSS Drone CI の 構築方法 - Qiita, https://qiita.com/kurkuru/items/585ca5c83c48664273b2
[2] Drone CI で手軽に Docker コンテナで並列にジョブをぶん回す環境を構築した - シンクロ・フード エンジニアブログ, https://tech.synchro-food.co.jp/entry/2018/09/18/184426
[4] Database | Drone, https://docs.drone.io/server/storage/database/
[5] Usage of DRONE_USER_FILTER - Support - Drone, https://discourse.drone.io/t/usage-of-drone-user-filter/5810/2
(DRONE_USER_FILTER
は初回登録時に適用されるが、以後のログイン時には検査されない。)
[29] 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., https://github.com/harness/harness
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.
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.
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.
[30] なんかややこしいことになってるな
[31] GitHub - harness/harness at drone, https://github.com/harness/harness/tree/drone
[32] harness/BUILDING_OSS at drone · harness/harness · GitHub, https://github.com/harness/harness/blob/drone/BUILDING_OSS