GitHub Actions 入門
今回は、GitHub Actionsについて解説していきます。
CI/CDツールとして頻繁に使われているので、ぜひこの機会に身につけましょう。
GitHub Actionsとは?
GitHub Actionsとは、GitHubが提供しているCI/CDのツールです。
GitHub上のアクションに対応して、何かの動作を実行することができます。
例えば、mainブランチにマージされたタイミングで、デプロイを実行するなどができます。
ちなみに、CI/CDとは継続的インテグレーション/継続的デリバリー(デプロイ)の略になります。
要は、テスト(ビルド)とデプロイを自動化することです。
GitHub Actionsの設定方法
まず、設定を書くためのyamlファイルを.github/workflows/
配下に置きます。
name: test
on:
push:
branched:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo hello world
今回の例では、mainブランチにコードがpushされたタイミングでhello world
を出力しています。
実際の実行結果は、GitHubの対象リポジトリのActionsというタブから見ることができます。
これが、超基礎的なGitHub Actionsの設定方法になります。
設定ファイルの書き方
次に、設定ファイルの書き方について具体的に解説していきます。
コマンド | 意味 |
---|---|
on | どのタイミングで実行するかを定義 |
jobs | 環境が違うそれぞれのjobを定義 |
runs-on | どのような環境でテストするかを定義 |
env | 環境変数を定義 |
steps | ジョブ内でタスクを実行する単位 |
name | ブラウザ上に表示するステップの名前を定義 |
uses | 他actionsの参照 |
run | コマンドベースで実行する内容を定義 |
needs | どのjobが終わった時に実行できるかを指定できる |
要はon
で実行タイミングを指定して、run
でコマンドを実行していく感じになります。
けれど、run
で0から環境構築や、全ての手順を記述するのは大変です。
それを簡単にするために、githubはマーケットプレイスを用意しています。
ここには、すでにパッケージ化された処理があり、usesコマンドでそれらを使用することができます。
例えば、リポジトリからコードを取得するものや、dockerを使うためのものなどがあります。
ちなみに、公式・非公式のものがあり、できるだけ公式のものを使った方が良いでしょう。
環境変数とシークレット
最後に環境変数について簡単に解説します。
GitHub Actionsには次3種類の環境変数があります。
- 既に定義されているContextという環境変数
- 自分で定義する環境変数
- GitHub上で設定したsecrets
最初の2つについては、分かりやすい解説があったのでそちらをご参照ください。
3つ目のsecretsについてですが、こちらのGitHubのsettingsタブから指定できる環境変数になります。
こちらは、暗号化されて保存されるため、機密情報などを扱う場合はここに内容を記述することになります。
まとめ
今回は、GitHub Actionsについて解説していきます。
昨今はこのツールを使っている現場も多いので、ぜひこの機会に身につけましょう。
宣伝
0からエンジニアになるためのノウハウをブログで発信しています。
また、YouTubeでの動画解説も始めました。
YouTubeのvideoIDが不正ですインスタの発信も細々とやっています。
興味がある方は、ぜひリンクをクリックして確認してみてください!
Discussion