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
# ワークフローの名前、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