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

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

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

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

GitHub Actionsとは

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

料金について

GitHub Actionsの料金
  • パブリックリポジトリは無料
  • プライベートリポジトリは無料で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現在)

GitHub上でアクションが有効になっている事を確認する

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をすると、


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

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


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

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

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



余談

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

actions/starter-workflows: Accelerating new GitHub Actions workflows

プロフィール画像
Yuki Takara
都内でフリーランスのエンジニアをやってます。フロントとアプリ開発メインに幅広くやってます。