2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GitHub ActionsによるCIの実践

Posted at

はじめに

  • 本記事は、2019年11月13日にGitHubから正式リリースされたGitHub Actionsを用いて、CIを実践する方法について、まとめたものです。
  • 本記事で掲載しているGitHubの操作画面は、2020年3月11日時点のものになります。

CIとは

  • 継続的インテグレーション(Continuous Integration)の略称です。
  • インテグレーションとは、各人が作成した製作物を1か所に集め、ビルドとテストを行うプロセスのことです。
  • 継続的インテグレーションとは、「定期的・自動的」にインテグレーションを行う仕組みのことを指します。

【インテグレーションの要素】

  1. すべてのソースコードを1か所に集める。
  2. ビルドを行う。
  3. テストを実行する。

GitHub Actionsとは

  • GitHubのイベント(プッシュ、プルリクエストなど)をトリガーとして、ソフトウェア開発のワークフローを自動化する機能。
  • ワークフローとは、GitHubに任意のコードプロジェクトをビルド、テスト、パッケージ、リリース、またはデプロイするためにGitリポジトリーで設定できる、カスタムの自動プロセスです。
  • GitHub Actionsを利用することで、GitHub上のソースコードに対するCIを実現できます。

GitHub Actionsの役割

インテグレーションの要素から見ると、

  1. すべてのソースコードを1か所に集める。
       ⇒ GitHub上のGitリポジトリーで管理されている。
  2. ビルドを行う。
  3. テストを実行する。
       ⇒2と3について、GitHub Actionで行えるようになった。

GitHub ActionsでCIを行う手順

  1. テストケースの作成。
  2. (必要であれば)テストで必要なライブラリの設定をビルドツールに追加。
  3. テストケース等をGitリポジトリーに登録。
  4. Gitリポジトリー上にワークフローを記述するファイル(YAML形式)を作成。

       ⇒ テストケースを呼び出す処理(コマンド)を記述する。

以降、ワークフローで指定したイベントが発生すると、自動的にCIが行われます。

ワークフローの作成方法

  1. GitHub上のリポジトリーのActionタブからワークフローを作成する。
    image.png

  2. メジャーな言語、環境、サーバー等のテンプレートが用意されているので、利用するテンプレートを選択する。
    テンプレートを選択せずに、自分で作成することもできます)
    image.png

  3. 指定したテンプレートのワークフローが作成されるので、ファイル名、処理を記述する。
    ※「Gitリポジトリー/.github/workflows」の下に作成します。
    ※ワークフローの構成、構文については、後ほど説明します。
    image.png

  4. ワークフローの処理を記述したら、コミットを行います。
    image.png

  5. コミットが完了すると、ワークフローの初回実行が行われます。
    以降、ワークフローで指定したイベントが発生するごとに、ワークフローが実行されます。
    image.png

ワークフローの構成

ワークフローは以下の構成となっています。
image.png

ワークフローの構文

  • Java with Mavenのテンプレートを例に、ワークフローの構文を説明します。
    image.png

参考資料

GitHub Actions公式ドキュメント
https://help.github.com/ja/actions

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?