GitHub Actionsの理解とHello Worldを出力する

2020.11.02
GitHub Actionsの理解とHello Worldを出力する

GitHub製のCIツール、 GitHub Actions を使ってみます。

GitHub Actionsの理解と、最終的に実際に「Hello World!」とechoしてみます。

GitHub Actionsとは

GitHubが提供するCI/CDサービス。
GitHubが提供するが故にGitHubとの連携は他サービスよりしやすそう。

料金について

  • パブリックリポジトリは無料
  • プライベートリポジトリは無料で2000分以上の使用が可能(↑画像参照)

プライベートリポジトリでも個人開発であれば無料枠で問題なさそう。
チーム開発でもワークフロー自体に時間がかかるものが少なければ無料枠で収まるかもですね。



GitLabやBitbucketを使用している場合は難しそうですが、
GitHubを使っているプロジェクトではCI/CDツールとして新たな選択肢に入りますね!

hello worldを表示する

公式の「Quickstart」があって、英語ではありますがそちらが参考になります。
Quickstart for GitHub Actions - GitHub Docs

GitHub上の設定を確認

GitHubのプロジェクトの設定画面でActionsが有効になっていることを確認します。


Enable local and third party Actions for this repository もしくは Enable local Actions only for this repository が選択されている事を確認します。



デフォルトで1番上の Enable local and third party Actions for this repository なっているので特に設定を変更する必要がなさそう(2020/09/28現在)

Actionsを作動させるymlを追加する

GitHubにpushしたらActionsを作動させるような.ymlファイルを作成します。



.github/workflows/ディレクトリにGitHub Actionsに対応した.ymlファイルを作成する事でActionsを作動させる事ができます。


.ymlファイルの名前は「.github/workflows/」配下であればなんでも問題ない模様



今回は参考用に .github/workflows/hello.yml を作成してみます。

.github/
  workflows/
    hello.yml
.github/workflows/hello.yml
# ワークフローの名前、Actions上に表示される
name: Hello, World!
# 何をアクションとするか
# この場合該当リポジトリにどのブランチでpushしても以下のjobが必ず実行される
on: push

jobs:
  # jobのkey名
  # 複数のjobを作成し他のjobから使用する際にはこのkey名を使用する
  # もしこのjobのnameを指定しなかった場合は、このkey名がnameとして使われる
  build:
    # jobの名前
    name: Greeting
    # 使用するOperating System
    runs-on: ubuntu-latest
    # 実行する内容
    steps:
      - run: echo "Hello, World!"

この状態でpushをすると、


ワークフローを選択する画面



実行されたワークフローの内容


「Hello World!」が表示されました!



余談

starter-workflows というリポジトリがあって何か新しく始めたい時に参考になりそうです

actions/starter-workflows: Accelerating new GitHub Actions workflows

おすすめ