<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=317167222013567&ev=PageView&noscript=1"/>

プルリクエスト並みの大型新機能!? GitHub Actionsについて解説してみた

2018.10.25

GitHub社は10/16~17に年次イベントであるGitHub Universe 2018において、GitHub Actionsという新機能の発表を行いました。

GitHub Actionsとは(要約)

Dockerコンテナを利用し、開発者のワークフローを自動化するサービスです。
もっと簡単に言うとGitHubや外部ツールのAPIを活用するコード(ここではアクションと呼ぶ)を、実行順序を指定して実行するという仕組みです。

Dockerとは

そもそもDockerとはなんなのでしょうか。
Wikipediaにはこう書いてあります。

Docker(ドッカー)はコンテナ型の仮想化環境を提供するオープンソースソフトウェアである。VMware製品などの完全仮想化を行うハイパーバイザ型製品と比べて、ディスク使用量は少なく、仮想環境 (インスタンス) 作成や起動は速く、性能劣化がほとんどないという利点を持つ。[1]

ざっくり言うと自分のPC上にさらにもう一つOSを立ち上げて好きな環境を作ってしまおうというものです。また従来の仮想環境と違うのはそれが比較的軽い環境ということです。

Dockerには大きく分けて3つの利点があります。

資源の効率化

従来の仮想化とは異なり、OSをまるごとインストールする必要がなく、PCの資源(リソース)の無駄遣いを減らすことができます。

アプリ実行環境構築の容易さ

アプリケーションとライブラリを同一のコンテナ内に固めます。そして一度固めたコンテナは軽量であるため移動が容易であり、比較的どの環境でも素早く目的のアプリケーションを動作させる事が可能です。

廃棄の容易さ

設定を間違えたときに簡単に廃棄/前の状態に戻ることができます。

GitHub Actionsワークフロー

GitHub Actionsは以下の図のようなワークフローとなります。
(図はhttps://github.com/features/actionsをgoogle翻訳で和訳したものです)

GitHub Actionsで何が嬉しいか

さまざまな動作を組み合わせ可能

ワークフロー内のアクションとしてDockerコンテナを実行できるため、コードのビルドやテストの実行、クラウドへのデプロイなど、GitHubの機能にとらわれない、さまざまな動作を組み合わせることができます。[2]

シェアされているアクションが再利用可能

アクションに対応するDockerコンテナはGitHub内でシェアでき、それを使用できるため、一般的なワークフローで利用するアクションを自身で作成する必要がありません。

ビジュアルにワークフローを定義できる

ユーザーは以下のようにビジュアルにワークフローを定義できます。[3]
GitHub Actionsを使用すると、コンテナに接続して共有することでソフトウェア開発のワークフローを実行できます。 つまりコードを自分で実行することなく、プロジェクトを任意の言語で簡単に構築、パッケージ化、リリース、更新、展開することができるというものということだそうです。

他にも様々なメリットがあるようです。もしすでに使用していて「こんな機能もあるよ!」という方がいらっしゃれば @hikaruya までぜひお知らせください。(筆者はβ版に申し込んだものの現在承認待ち中です)
またもし認識違い等ありましたら、ご指摘いただければ幸いです。

まずはGitHubを使い倒そう

今回はGitHubの新機能であるGitHub Actionsについて簡単に紹介してみました。GitHubを所属先や個人で頻繁に使用されている方もいれば、そうでない方もいると思います。
GitHubは非常に使いやすく、かつ転職やフリーランス/副業案件をゲットする際には自身のアピールポイントとなります。ぜひ使い倒してポートフォリオの一部としてしまいましょう!

Findyでは、GitHubのアカウントを連携し、スキル偏差値 というプログラミングスキルの「見える化」をすることで、フリーランス/副業向け案件の受注・中途転職のサポートを行っています。GitHubを使用している方はぜひ一度登録していただければ幸いです。

フリーランス/副業向け案件をお探しの方はこちら:
フリーランス・副業エンジニア向け単価保証型の案件紹介サービス Findy Freelance

中途転職をお考えの方はこちら:
ハイスキルなエンジニアのプレミアム転職サービス Findy

(筆者: @hikaruya)

引用
[1] https://ja.wikipedia.org/wiki/Docker
[2] https://www.publickey1.jp/blog/18/github_actionsdockergithub_universe_2018.html
[3]https://blog.github.com/2018-10-16-future-of-software/

Findy Engineer Labを購読してみませんか?
エンジニアの働き方やFindyの技術的な話などをお送りします!
フリーランス・副業エンジニア向け
単価保証型案件紹介サービス

エンジニアにとって魅力的な案件をあなたの希望単価でご紹介サポートします。

担当より:
7月後半から一気に面白い案件が増えてきました!
CTO の佐藤も「これはやってみたい!」と気になるくらい魅力的な案件が数多くなってきましたので、気になる方はお早めにどうぞ!

https://freelance.findy-code.io/
  • Category

  • About

  • Service

    フリーランス・副業向け
    単価保証型案件紹介サービス

    ハイスキルなフリーランス・副業エンジニア向けに案件紹介

    https://freelance.findy-code.io/
    ハイスキルなエンジニアの
    プレミアム転職サービス

    スキル偏差値が高いエンジニアに、人気のテック企業からオファーが届く

    https://findy-code.io/
    リアルタイムAI求人票採点サービス

    AIを使ってリアルタイムに求人票を採点

    https://findy.us/