デプロイ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 サービスが作成され、リポジトリがクローンされ、スタックが自動検出され(lizardpack)、ビルドされ、稼働中の 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 をつなげないでください。つなげると ビルドが 2 回キューに入ります。クラッシュしたサービスや一度もデプロイされていないサービスには lizard redeploy が必要です。

Note: lizard up は常に sourceType=upload を強制します。git バックエンドのサービス更新には使わないでください。リモートへ push するか、代わりに lizard redeploy を使用してください。

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/**'

ブランチを切り替える

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 のサブパスに設定します。

関連項目

更新日