はじめに
正直なところ、僕自身はGithub Actions自体をあまり使っていませんでした。仕事ではすでにセットアップされている状態で仕事をしていたり、個人開発ではあくまでもアプリ側がちゃんと動けばいいかと思っていたので、リポジトリをみたところ、数年前に追加したものが失敗されている状態で野晒しになっていました。
そんなときに、Github Actionsを触れる機会を提供してもらえたので、学習をしながら手を動かすことができました。おかげで今まであった苦手意識は薄れてきたと思います。ありがてぇぇ
ということでおそらく「ubuntu」について知っている方はどのぐらいいるでしょうか?僕は全く知らないどころかスルーしていました。
いくつかのサイトから引用させていただきます。
「ubuntu」について
Ubuntuとは「誰にでも使いやすいOS」をコンセプトに開発されたLinux系のOS。
Linux 系OSとはLinuxをベースにして作られたOS のことで、一般的にLinuxディストリビュージョンを指します。オープンソースであるLinuxには多くのディストリビューションがありますが、なかでもUbuntuは、特に人気があります。
え、OSなの・・・?
WindowsやmacOSは、知っているのになんで知らなかったんだろう...
なぜGithub Actionで使われることが多いのか?
安定性と信頼性
Ubuntuは安定した動作が保証されており、CI/CDパイプラインで重要な信頼性を提供しており、システムのクラッシュや予期せぬ動作が少ない点・ビルドやテストの実行が安定して行えるメリットもあります。
パフォーマンス
リソース効率が良く、CI/CDジョブの実行時間を短縮でき、軽量なイメージサイズで、ジョブの起動が高速
メモリ使用量の最適化されています。
開発環境としての適性
多くの開発ツールが標準でサポートされており、様々なプログラミング言語の実行環境を簡単に構築可能です。またコンテナ化された環境との相性が良いという点もあります。
カスタマイズ性
Ubuntuは必要最小限の構成から始められ、必要なツールだけを追加できます。macOSやWindowsは不要なサービスや機能が多く含まれている場合があります。
コスト面での優位性
macOSランナーはUbuntuの約10倍、Windowsランナーは約2倍のコストがかかります。GitHub Actionsの無料枠(月2,000分)を最大限活用するならUbuntuが最も効率的です。
追記:macOSランナーはUbuntuの約2倍ではなく、10倍でした。教えていただきありがとうございます。
最後に
いつも見逃していたり、しっかりとみれていないところも知っておくと大切なのですね。これらについて理解できるともっと領域が広がると思うと嬉しいですね。