デプロイGitHub からデプロイ

GitHub からデプロイ

GitHub リポジトリを接続すると、Lizard (lizard.build) は追跡対象ブランチへの push のたびにアプリをビルドして再デプロイします: git push to deploy。lizard add -r owner/repo を実行してサービスを作成します。プライベートリポジトリの場合は、先に lizard git connect で Lizard GitHub App を接続してください。GitHub で管理しているアプリを実行するには、これが推奨方法です。リモートのないコードの場合は、代わりに ローカルコードからデプロイ してください。

リポジトリからサービスを作成する

lizard add -r your-org/your-app

これにより github-source サービスが作成され、最初のビルドがバックグラウンドで始まります。Lizard はリポジトリをクローンし、スタックを検出します(lizardpack)。このコマンドは URL を表示しません。ビルドは lizard logs --build --service <name> で追えます。稼働が始まると、lizard ps に URL が表示されます。便利なフラグ:

フラグ目的
-r, --repo <owner/repo>ソースリポジトリ
-n, --name <name>サービス名(${{name.KEY}} 参照とダッシュボードで使用)
-v, --variables <K=V>環境変数を初期設定します。繰り返し指定可能
--region <code>デプロイ先のリージョン
--no-deployリポジトリを接続するが最初のビルドはスキップ

プライベートリポジトリ

プライベートリポジトリへのアクセスを許可するには、アカウントごとに一度 Lizard GitHub App を接続します:

lizard git connect
lizard git status        # show connection + repo status

ダッシュボードの GitHub integration ページ(lizard open)から、リポジトリへのアクセスを接続および管理することもできます。

既存のサービスをリポジトリに向ける

サービスを git ソースに切り替える場合(またはリポジトリ/ブランチを変更する場合):

lizard service set api \
  --set sourceType=github \
  --set repoUrl=https://github.com/your-org/your-app \
  --set branch=main

稼働中のサービスでビルド項目を変更すると、再ビルドが行われます。その後に redeploy を実行すると、そのビルドがキャンセルされ、別のビルドが始まります。クラッシュしたサービスや一度もデプロイされていないサービスには lizard redeploy が必要です。

Note: lizard up は常に sourceType=upload を強制します。git バックエンドのサービス更新には使わないでください。リモートへ push するか、代わりに lizard redeploy を使用してください。サービスがリンクされていないフォルダーでは、up はフォルダー名または package.json の名前と同じサービスを選びます。そのため、リポジトリのクローン内で実行すると、GitHub サービスがアップロードに切り替わることがあります。

push 時に自動再デプロイ

repoUrl が設定されると、一致する branch への push は GitHub webhook 経由で自動的に再デプロイされます。Lizard がリポジトリの push イベントを受け取れるように、Lizard GitHub App を接続してください(lizard git connect)。どの push が再デプロイをトリガーするかを絞り込むには:

  • rootDirectory:サブディレクトリのみをビルドします(モノレポ)。
  • watchPatterns:一致するパスが変更された場合のみ再デプロイします。
lizard service set api --set watchPatterns='apps/api/**,packages/**'

push でデプロイしないようにするには、ダッシュボードのサービス設定で Auto-deploy をオフにします。一時停止 したサービスも、再開するまで push を無視します。

ブランチを切り替える

lizard git checkout api staging      # move the `api` service to the `staging` branch and redeploy

モノレポ

複数のアプリを含むリポジトリでは、アプリごとに 1 つのサービスを作成し、その rootDirectory をサブパスに設定します:

lizard add -r your-org/monorepo -n api --no-deploy
lizard service set api --set rootDirectory=apps/api
lizard redeploy --service api

現在のディレクトリが、親がすでにリンク済みのリポジトリ内のサブアプリである場合は、親のプロジェクト内にサービスを追加し、rootDirectory を cwd のサブパスに設定します。

関連項目

更新日