🦔

GitHub Actions 入門

2023/04/22に公開

今回は、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はマーケットプレイスを用意しています。

https://github.com/marketplace?type=actions

ここには、すでにパッケージ化された処理があり、usesコマンドでそれらを使用することができます。

例えば、リポジトリからコードを取得するものや、dockerを使うためのものなどがあります。

ちなみに、公式・非公式のものがあり、できるだけ公式のものを使った方が良いでしょう。

環境変数とシークレット

最後に環境変数について簡単に解説します。

GitHub Actionsには次3種類の環境変数があります。

  • 既に定義されているContextという環境変数
  • 自分で定義する環境変数
  • GitHub上で設定したsecrets

最初の2つについては、分かりやすい解説があったのでそちらをご参照ください。

https://zenn.dev/hashito/articles/aef4de448f341b

3つ目のsecretsについてですが、こちらのGitHubのsettingsタブから指定できる環境変数になります。

こちらは、暗号化されて保存されるため、機密情報などを扱う場合はここに内容を記述することになります。

まとめ

今回は、GitHub Actionsについて解説していきます。

昨今はこのツールを使っている現場も多いので、ぜひこの機会に身につけましょう。

宣伝

0からエンジニアになるためのノウハウをブログで発信しています。
https://hinoshin-blog.com/

また、YouTubeでの動画解説も始めました。
YouTubeのvideoIDが不正ですhttps://www.youtube.com/channel/UCqaBUPxazAcXaGSNbky1y4g

インスタの発信も細々とやっています。
https://www.instagram.com/hinoshin_enginner/

興味がある方は、ぜひリンクをクリックして確認してみてください!

Discussion