設定した仕事を自動的にしてもらう!Github Actionsを使ってみた

ブログ

Blog
  1. ホームページ制作・運営はアウラ:ホーム
  2. ブログ
  3. 設定した仕事を自動的にしてもらう!Github Actionsを使ってみた

設定した仕事を自動的にしてもらう!Github Actionsを使ってみた

設定した仕事を自動的にしてもらう!Github Actionsを使ってみた

みなさん、こんにちは。タスクの自動化に目を向けている周です。

仕事の自動化が進んでいる今、Web開発においては「CI/CD」といい、定期テストの自動化、本番環境への反映タスクの自動化ができるツールも多く出てきています。

ソースコードの管理ができる「Github」が提供する「Github Actions」もその中の一つです。
今回はこの「Github Actions」を使って定期テストのソースを動かしてみました。

ワークフローの設定ファイル

Github Actionsでタスクを実行してもらうため、どのような条件、そしてどのような環境で、何のタスクを実行するかをワークフローの設定ファイルで教えてあげる必要があります。
以下のように .githubフォルダの中に workflows フォルダを作成し、中に設定ファイルの main.yml を作成します。

下記はワークフローの設定ファイルの設定例となります。

では、ワークフローの設定ファイルの構造を詳しく見ていきましょう。

1.ワークフローの名前

まず最初に、ワークフローの名前を入力します。

2.ワークフローの実行タイミング

つぎにワークフローの実行タイミングを定義します。

例では、cronを使って毎時0分に実行するように設定しています。
なお、標準時間との差のため、設定した時間とズレが発生してしまいます。

cronは、設定したように定期的に実行することができるOSシステムの備え付けのジョブ管理ツールです。

また、下記のようにpull_requestイベントを使うと、マージされたタイミングでワークフローを実行することができます。

3.最新のUbuntu環境の指定

仮想環境のOSシステムの定義となります。今回は最新のOS環境で処理を実行するように指定しています。

4.Github Actionsのアクションの指定

つぎは処理の実行をハンドルするアクションのバージョンを選びます。
2024年6月現在は、 actions/checkout@v4 が最新バージョンとなります。

また、リリース情報は下記のURLから確認することができます。
https://github.com/actions/checkout/releases

5.利用するプログラミング言語とライブラリのインストール

今回実行する処理で使うプログラミング言語と、必要なライブラリを定義します。
今回はPython、Pythonのパッケージを管理するpip、そして必要なパッケージを指定しています。

6.実行するファイル

最後に実行するプログラムを記述しているファイルを指定します。

ワークフローの設定ファイルを記述し、mainブランチにマージしたタイミングでタスクの実行が始まります。

タスクの実行結果の確認

タスクの実行が成功したかどうかをGithubのリポジトリページの「Action」タブから確認することができます。

実行する履歴をクリックすると、さらに実行するステップの詳細を確認できます。
失敗した場合もこちらからどのステップで止まってしまったかを調べることができます。

秘密情報の扱い

実行するワークフローのプログラムで利用するデータベース情報APIキーなどの秘密情報もリポジトリごとに登録することができます。
まずは、下記のようにリポジトリのセッティングタブから、Github Actions用のシークレット変数を設定します。

そして、設定したシークレット変数をプログラム上で使えるように、ワークフローの設定ファイルで環境変数の設定をします。
jobs の上に下記のように追記します。

Pythonの場合、設定ファイルで追記した変数は、下記のように呼び出すことができます。

Github Actionsの課金

Github Actionsでは月2000分以内の場合、フリープランで利用することができます。
しかし、2000分を超える場合、従量課金で請求が発生してしまいます。
フリープランだけで利用したい場合は、2000分を超えないように上限を設定する必要があります。

Githubの課金の詳細について、下記の公式ドキュメントをご参照ください。
https://docs.github.com/ja/billing/managing-billing-for-github-actions/about-billing-for-github-actions#about-spending-limits

まとめ

定期的な動作チェックや、マージされたタイミングでサーバーへの反映など、そのようなタスクを自動化できる「Github Actions」の使い方の紹介でした。
自動化ツールの活用によって、今まで手動で実行しないといけないタスクも、時短でできるようになりました。これからもいろんな業務で活用できたらと思っています。

お電話でのお問い合わせはこちら:06-6292-8577。受付時間は平日9:30~18:30 インターネットからは24時間受付中!お問い合わせフォームはこちら
Webデザイナー、Webプログラマ募集中!