【GitHub】GitHub Actions MySQL データベースを利用する
【GitHub】GitHub Actions MySQL データベースを利用する
GitHub Actionsを使用して MySQL データベースをセットアップし、接続テストを行う手順をご紹介します。
GitHub Actionsは、ソフトウェアワークフローを自動化するためのCI/CDツールです。MySQLのセットアップと接続テストを自動化する方法を学びましょう。
YAMLファイルの内容と説明
name: MySQL Workflow
on: [push] # GitHubにプッシュされた時に実行される
jobs:
setup-mysql:
runs-on: ubuntu-latest # Ubuntu最新版で実行
services:
mysql:
image: mysql:8.0 # MySQLのバージョン8.0のDockerイメージを使用
env:
MYSQL_ROOT_PASSWORD: root_password # ルートユーザーのパスワード
MYSQL_DATABASE: foo # 作成するデータベース名
MYSQL_USER: user # ユーザー名
MYSQL_PASSWORD: user_password # ユーザーのパスワード
ports:
- 3306:3306 # ポートマッピング設定
options: >- # コンテナのヘルスチェック設定
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=10s
--health-retries=10
steps:
- name: Show Docker containers # 実行中のDockerコンテナを表示
run: docker ps -a
- name: Show databases for user # ユーザーのデータベースを表示
run: mysql --protocol=tcp -h localhost -P 3306 -u user -puser_password -e "SHOW DATABASES"
説明
- トリガー:
on: [push]は、このWorkflowがGitHubへのプッシュ時にトリガーされることを意味します。 - ジョブ設定:
setup-mysqlジョブはubuntu-latestで実行され、MySQLサービスをセットアップします。 - サービス設定: MySQLサービスは、Dockerイメージ
mysql:8.0を使用して設定されます。 - 環境変数:
envセクションでは、データベースのユーザー、パスワード、データベース名を設定します。 - ポート設定:
3306:3306でMySQLのデフォルトポートをホストマシンに公開します。 - ヘルスチェック:
optionsでコンテナの起動と健全性を確認するためのコマンドを設定します。 - ステップ:
Show Docker containersステップで現在実行中のDockerコンテナの一覧を表示します。Show databases for userステップで、指定したユーザーで利用可能なデータベースの一覧を表示します。
実行と確認
このファイルをコミットし、GitHubにプッシュすると、自動的にGitHub Actionsがトリガーされます。完了後、「Actions」タブで実行結果を確認できます。成功していれば、指定されたユーザーでデータベースに接続し、利用可能なデータベースの一覧を表示することができます。
参考リンク
- GitHub Actionsの公式ドキュメント: GitHub Actions Documentation
- MySQLのDockerイメージ: MySQL Docker Hub