CIツール的な何か。
きっかけ
2019-11-14、GitHubを使っていると以下のようなポップアップが出た。
GitHub Action とは?
- https://help.github.com/ja/actions/automating-your-workflow-with-github-actions/about-github-actions
継続的インテグレーション (CI) 。プロジェクトをビルド、テスト、パッケージ、リリース(デプロイ)するための自動化システムである。
継続的インテグレーション (CI) とは?
コードを頻繁に共有リポジトリにコミットする手法のこと
コードのビルドとテストを継続的に行うらしい。つまりコミットするたびにビルドとテストを自動的にしてくれるってことか?
方法
以下の2種類あるらしい。
- ローカル: ローカルでビルドとテストをしてからリポジトリにpushする
- サーバ: コミットしたらサーバでビルドとテストを行う
GitHub Actionはデフォルトでサーバ実行らしい。
ステータス・バッジ
- https://help.github.com/ja/actions/automating-your-workflow-with-github-actions/about-continuous-integration#status-badges-for-workflow-runs
- https://help.github.com/en/actions/automating-your-workflow-with-github-actions/configuring-a-workflow#adding-a-workflow-status-badge-to-your-repository
https://github.com/<OWNER>/<REPOSITORY>/workflows/<WORKFLOW_NAME>/badge.svg https://github.com/<OWNER>/<REPOSITORY>/workflows/<WORKFLOW_FILE_PATH>/badge.svg
以下はステータスバッジを追加するMarkdownコードである。Greet Everyone
というWORKFLOW_NAME
の。
![](https://github.com/actions/hello-world/workflows/Greet%20Everyone/badge.svg)
以下はWORKFLOW_FILE_PATH
を用いた時の場合。
![](https://github.com/actions/hello-world/workflows/.github/workflows/main.yml/badge.svg)
制限
リポジトリごとに最大20のワークフローを同時に実行できます
- 1時間に実行できるAPIリクエストは、1つのリポジトリの全アクションで最大1000までです
- ワークフローの各ジョブは、最大で6時間まで実行できます。
- アカウントのすべてのリポジトリで同時に実行できるジョブの数は、GitHubプランによって異なります。
GitHub plan | Total concurrent jobs | Maximum concurrent macOS jobs |
---|---|---|
無料 | 20 | 5 |
Pro | 40 | 5 |
Team | 60 | 5 |
Enterprise | 180 | 15 |
禁止事項は以下。
- 法律、利用規約、コミュニティガイドライン違反
- GitHubサービス・ユーザを危険にさらす行為
- プロジェクトの製造、テスト、デプロイ、公開に関連しないその他の行為
以下がよくわからなかったので少し調べた。
禁止事項 | 概要 |
---|---|
クリプトマイニング | 無断で相手のPCリソースを使い、自分の電子マネーを増やすべくマイニングすること |
サーバーレス・コンピューティング | クラウド・コンピューティングの実行形態。クラウドはネットを介してコンピュータ資源を提供するサービスのこと。サーバレスは、コンピュータ資源の消費に応じて対価を要求するサービスのこと。 |
ようするにGitHubActionを使って金儲けするなってことか。禁止事項にある「プロジェクトの製造、テスト、デプロイ、公開に関連しないその他の行為」を理解していればよかっただけだな。
クリプトマイニングを調べたら非常に恐いことがわかった。別記事にする。
作成方法
これ、ちょっと大変そう。別記事で一つずつ試してみよう。
所感
もうWebサービス使うのが恐いし面倒すぎ。ふつうにローカルでビルドコマンドスクリプト使ったほうが早くね? とか思ってしまった。
でも、どこにどんな価値や危険があるかもわからない。知らなかったで済むかどうかは、知ってみねばわからないという矛盾。結局、知らなければ奪われるかもしれないという恐怖に踊らされる。疲れるんだよ、そういうの……。
所感
アカウントのすべてのリポジトリで同時に実行できるジョブの数は、GitHubプランによって異なります。
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13 ※
- bash 4.4.12(1)-release ※
- SQLite 3.29.0 ※
- C# dotnet 3.0.100 ※ ※
$ uname -a Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux