Linus Torvalds氏が開発したソースコードの分散型バージョン管理システムの「Git」は、現代のプログラミングで不可欠であるばかりか、本質的にすべてのDevOpsオペレーションの鍵でもある。GitHubはそれを認識しており、「GitHub Actions」によって、このサービスをDevOpsワークフローのパイプラインに変革しようとしている。
GitHub Actionsを使い、コンテナアプリの構築、ウェブサービスの導入、パッケージのレジストリへの公開などが行えるほか、それらすべてを結び付けることもできる。
GitHubの最高執行責任者(COO)のErica Brescia氏はTwitterで、中核となるのは、GitHubに「完全なCI/CD(継続的インテグレーション/継続的デリバリー)機能を導入する」ことだと述べている。「これはゲームチェンジャーになる」(同氏)
これは過剰な宣伝ではない。GitHub Actionsによって、「Linux」「macOS」「Windows」など、どのプラットフォームでもプロジェクトをビルド、テスト、デプロイする手段を容易に自動化できるようになった。コンテナや仮想マシンでワークフローを実行できる。「Matrix builds」機能により、容易に複数のバージョンのプロジェクトを並行してテストできるようになる。
GitHubの製品設計担当シニアディレクターのMax Schoening氏は、「ソフトウェアは世界を変えつつある。多くのチームにとって、その変化は、ソフトウェアをより迅速かつ確実に提供することを意味している。われわれは、GitHub Actionsがそのためのエンジンだと捉えているが、人によってはそれをDevOpsとも呼ぶだろう」と述べた。
GitHub Actionsでは、あらゆるイベントに基づいてどのようなワークフローもオーケストレーションする。一方GitHubが、実行を管理して、フィードバックを提供し、すべての段階においてセキュリティーを確保する。GitHub Actionsでは、ワークフローとステップはリポジトリ内のコードであり、ソフトウェア開発のプラクティスを作成して、共有、再利用したり、フォークしたりできる。そして今回、GitHub ActionsがCI/CDに対応した。
なたGitHub Actionsは、より多くの言語とフレームワークに対応するようになった。「Node.js」「Python」「Java」「PHP」「Ruby」「C/C++」「.NET」「Android」「iOS」などが含まれる。ウェブサービスとデータベースを同時にテストすることも可能だ。
GitHub Actionsは、パブリックリポジトリーでは無料だ。プライベートリポジトリの場合、従量課金制となる。GitHub Actionsは現在ベータ版となっており、11月に一般提供(GA)される。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。