本文へスキップ

GitHub ​

公開・非公開のリポジトリをデプロイし、push のたびに再デプロイします。

GitHub を接続する ​

  1. プロジェクトで Add Service → GitHub をクリックします。
  2. Connect GitHub をクリックしてアカウントまたは Organization を選び、Zenavo が読み取れるリポジトリを選択します。終わるとプロジェクトに戻ります。

GitHub を接続できるのはチームのオーナーと管理者だけです。Zenavo は選んだリポジトリのコードとメタデータの読み取り権限と、その push イベントを受け取ります。あとでリポジトリを追加するには、リポジトリ一覧から GitHub App の設定を開くか、見つからないリポジトリを検索して Try installing the GitHub App again を選びます。

リポジトリを追加する ​

  1. リポジトリを選ぶ。 最近 push されたものから順に並びます。入力して検索できます。
  2. ブランチまたはタグを選ぶ。
  3. Configure Build Plan:
    • Service Name:64 文字までの任意の名前。あとで変更できます。サービスの恒久的な ID はこの名前から作られます。
    • Root Directory:モノレポでは、このサービスのフォルダー(例:/apps/web)。
    • Environment Variables:行を追加するか、Edit Raw Variables で KEY=value の行を貼り付けます。
    • Advanced Settings:Dockerfile のパス、HTTP ポート、Deploy automatically when this branch is pushed(デフォルトでオン)。
  4. Build Plan Preview に、サービスがどうビルドされるか(自分の Dockerfile か、zbpack が検出した言語とバージョン)とポートが表示されます。Configure で変更するか、Deploy をクリックします。

push でデプロイする ​

自動デプロイがオンなら、そのブランチへの push のたびにプロジェクトがビルド・デプロイされます。他のブランチへの push は無視されます。あとからサービスの Settings タブ → Auto deploy でオン・オフできます。

Watch paths ​

モノレポでは、あるアプリへの push で他のアプリを再デプロイしたくありません。サービスの Settings タブ → Watch paths にパターンを 1 行に 1 つ入力すると、一致するファイルを変更した push のときだけデプロイされます。空欄なら push のたびにデプロイします。

パターンは .gitignore の構文で、(ルートディレクトリではなく)リポジトリのルートから読みます。ただし、選ぶのはデプロイのきっかけになるファイルです。

パターンpush で次が変わったときにデプロイ
apps/web/apps/web 以下のすべて
/package.jsonリポジトリ直下の package.json だけ
*.go任意のフォルダーの Go ファイル
packages/**/srcpackages 以下の任意の階層にある src フォルダー
!**/*.mdMarkdown ファイルは除外(監視中のフォルダー内でも)

.gitignore と同じく、先頭か途中に / があるパターンはリポジトリのルートからの相対で、ないものは任意の階層に一致します。* と ? はひとつのフォルダー名の中だけ、** はフォルダーをまたぎ、ファイルに最後に一致したパターンが優先されます。追加・変更・削除されたファイルのすべてが対象です。

Zenavo は変更されたファイルを GitHub の push イベントから読みます。イベントにファイルの一覧がない場合(2,048 を超えるコミットの push や、既存のコミットへのブランチの移動など)は、そのままデプロイします。コンソールや CLI からの再デプロイは、Watch paths にかかわらず常にデプロイします。

そのブランチを追跡している自動デプロイのサービスのどれかが変更ファイルを監視していれば、その push でプロジェクトがデプロイされます。

Zeabur とは関係ありません。