GitHub Actionsでサービスの起動を待つ
optionsに mysqladmin ping を設定する
code:yaml
services:
mysql-server:
image: mysql:8.0.28
ports:
- 3306:3306
env:
MYSQL_ROOT_PASSWORD: ${{ env.MYSQL_PWD }}
options: >-
--health-cmd "mysqladmin ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
なお --health-cmd はDocker 1.12 からの機能。 docker runコマンドで指定
「docker run」コマンドで設定を行う場合も、指定できるパラメータはDockerfile内で設定する場合と同じだ。以下の4つのオプションで実行するコマンド、実行間隔、タイムアウト時間、リトライ数が指定できる。
--health-cmd <実行するコマンド>
--health-interval <実行間隔>
--health-timeout <タイムアウト時間>
--health-retries <リトライ数>