※記事内に商品プロモーションを含むことがあります。
はじめに
GitHub Actionsでリポジトリ内のPythonスクリプトを自動実行する方法をまとめた。
GitHubにはあらかじめ設定しておいた処理を自動実行するGitHub Actionsという機能がある。設定方法の概要は以下の記事を参照。
GitHub Actionsに入門する – Helve Tech Blog
この記事では以下について述べる。
- GitHub ActionsでPythonスクリプトを実行する方法
- GitHub Actions実行環境にPythonライブラリをインストールする方法
ファイルの準備
主な手順は次の通り。
- 実行するPythonスクリプトを作成
- 必要なPythonライブラリの設定ファイル (requirements.txt) を作成
- GitHub Actionsの設定ファイル (YAML) を作成
以下、順に解説し、最後にPythonスクリプトを実行できたことを確認する。
Pythonスクリプトの作成
まず、GitHub上に空のリポジトリを作成し、ローカルにcloneする。
この状態で、リポジトリのルートディレクトリに次のPythonスクリプトpython-sample.py
を作成する。
|
|
ちなみに、実行結果は以下の通りになる。
|
|
Pythonライブラリ設定ファイルの作成
Python標準以外のライブラリを使用したい場合には、設定ファイル (requirements.txt) を作成する。
ここではNumPyをインストールするため、リポジトリのルートディレクトリに以下のrequirements.txt
を作成する。
|
|
ちなみにrequirements.txt
を作成しないと実行環境にNumPyがインストールされないため、GitHub Actions実行時に以下のエラーが発生する。
|
|
GitHub Actions設定ファイルの作成
最後に、GitHub Actions設定ファイルを作成する。
リポジトリに/.github/workflows/
というフォルダを作成し、次のgha-sample.yml
というYAML形式のファイルを置く。
|
|
この設定ファイルはpython-sample.py
を実行するものである。
トリガーイベントは2つあり、masterブランチへのpushと、GitHub上からの手動実行 (workflow_dispatch
) である。
uses: actions/setup-python@v2
でPython環境を指定する。
python-version: '3.8'
でバージョンを指定している。
architecture: 'x64'
でアーキテクチャを指定する(x64とx86が指定可能。デフォルトはx64)。
以下はPythonのバージョンを表示するだけなので、省略してよい。
|
|
GitHub Actionsを実行する
作成したファイルをGitHubにpushすると、GitHub Actionsに設定したPythonスクリプトが実行される。(上記のファイルではpushがトリガーイベントになっているため、このpushで実行される)。
|
|
GitHub Actions実行結果の確認
GitHubのリポジトリの画面を開き、“Actions"タブで実行結果を確認できる。
画像下部の"Run Python"で実行結果が[4 6]
となっており、スクリプトを実行できている。
まとめ
GitHub ActionsでPythonスクリプトを実行した。
requirements.txt
を用意することで、標準以外のライブラリも使用できる。
参考
GitHub Actions設定ファイルの詳細は以下の記事を参照。
GitHub Actionsに入門する – Helve Tech Blog