チュートリアル · パート 2:チームで Studio を使う

本番にリリースする

プロジェクトが Studio に入ったので、本番反映までのすべてのステップがプロジェクトの Releases ページに表示されます。変更がどの環境にあるか、今回のリリースにどのタスクが含まれるか、本番でどのバージョンが動いているかです。

Studio がホストするのはプレビュー環境とステージング環境だけです。本番は自社のサーバーで動作します。Studio は本番に接続せず、デプロイ手順を示し、本番で動いているバージョンを記録するだけです。

段階動作する場所更新されるタイミング
プレビューStudio がホストPR ごと。プロジェクトを Studio に取り込む で設定済み
ステージングStudio がホストマージのたびに、CI がビルドしてデプロイ
リリースコードリポジトリリリースラインに一致するタグをリポジトリに作成したとき
本番自社のサーバーデプロイ手順でデプロイし、Studio でバージョンを記録
プロジェクトの Releases ページ:Preview、Staging、Release、Production の段階と、その下のリリース待ちのタスク
プロジェクトの Releases ページ:Preview、Staging、Release、Production の段階と、その下のリリース待ちのタスク

1. マージ後にステージングにデプロイする

ステージングは、本番反映前にチームが試す場所です。ホストする環境は、管理者が Hosted environments で追加します。デプロイ環境 を参照してください。

itam-lite プロジェクトの Releases ページを開き、Staging 列の Deployment guide をクリックします。アプリ ID に itam-lite-staging を入力し、ステージング環境を選んでから、Connect CI の行で Connect CI をクリックします。以降、リポジトリの CI がマージのたびに成果物をビルド・アップロードし、ステージングにデプロイします。

ステージングへのデプロイ:エージェントに任せる、CI を接続する、または自分でコマンドを実行する
ステージングへのデプロイ:エージェントに任せる、CI を接続する、または自分でコマンドを実行する

接続できたら、別の PR をマージするとステージングが更新されます。Xu Ning(業務部門の同僚)に、ステージングで実際の業務の流れを試してもらいましょう。1 つの場所で棚卸しを開始し、IT サポートの担当者に何台かのデバイスを確認してもらい、棚卸しを終えて、結果と差異の一覧を確認します。問題があれば、Studio で新しいタスクを出します。

完了の条件Releases ページの Staging 列にステージングで動いているバージョンが表示され、Xu Ning がステージングで棚卸しを 1 回完了していること。

2. リリース待ちのタスクを確認する

Releases ページ下部の Pending release には、完了しているがまだリリースされていないタスクが一覧表示され、Where it is 列に、それぞれが In staging か Not deployed yet かが表示されます。リリースの前に、ここで何が本番に反映されるかを確認します。今はデバイスの棚卸しとデバイスの廃棄のタスクが表示されています。

3. リリースラインを設定する

リリースラインは、どのタグをリリースとみなすかを決めます。たとえば v* です。プロジェクトの Settings › Code repositories を開き、itam-lite の Release lines を編集して v* を入力します。リリースラインがないと、Release 列に先に設定するよう表示されます。

4. タグを付けてリリースを公開する

Release 列で How to publish をクリックします。

  1. itam-lite リポジトリとリリースライン v* を選びます。
  2. Based on staging environment で、先ほど設定したステージング環境を選びます。対象のコミットは、ステージングで動いているものになります。
  3. Suggested tag は変更できます。たとえば v1.1.0 にします。
  4. Included issues と含まれないタスクを確認し、デバイスの棚卸しとデバイスの廃棄の両方が含まれていることを確かめます。
  5. Copy commands をクリックし、itam-lite リポジトリで実行します。
リリースの公開:リリースラインとステージング環境を選び、含まれるタスクを確認して、タグのコマンドをコピーします
リリースの公開:リリースラインとステージング環境を選び、含まれるタスクを確認して、タグのコマンドをコピーします

タグをプッシュすると、Studio がそれを検知し、含まれるタスクを更新します。

完了の条件リポジトリにタグ v1.1.0 があり、Release 列にこのバージョンが表示され、デバイスの棚卸しとデバイスの廃棄が Pending release に表示されなくなっていること。

5. 自社のサーバーにデプロイする

Production 列で Deployment guide をクリックし、バージョン v1.1.0 を選び、サーバーに合わせて Docker か Installer を選びます。パート 1 では Docker を使ったので、Docker を選びます。

Let your agent deploy it をおすすめします。プロンプトをコーディングエージェントにコピーします。エージェントにはサーバーへの SSH アクセスが必要です。エージェントは成果物をダウンロードし、イメージをビルドし、設定を生成し、アップグレード前にデータベースをバックアップして、最後にアプリにアクセスできることを確認します。

デプロイ手順:バージョンと方法を選び、プロンプトをエージェントに渡します
デプロイ手順:バージョンと方法を選び、プロンプトをエージェントに渡します

デプロイが終わったら、I have deployed it — record as v1.1.0 をクリックします。Production 列に本番で動いているバージョンと、最新から何バージョン遅れているかが表示されます。

Studio での最初のリリース

本番に記録されたバージョンがない間、デプロイ手順には初回インストール用のコマンドが表示されます。itam-lite はパート 1 ですでにデプロイしているので、コーディングエージェントにプロンプトを渡すときに「itam-lite はすでにサーバーで動いているので、アップグレードとして扱い、先にデータベースをバックアップし、既存の設定とデータはそのままにしてください」と付け加えます。

デプロイ手順の表示とデプロイしたバージョンの記録ができるのは、プロジェクトリーダーだけです。

完了の条件itam-lite の本番で v1.1.0 が動いており、Production 列に同じバージョンが記録され、資産管理者が本番で四半期の最初の棚卸しを開始できること。

NocoBase ドキュメントアシスタント

NocoBase について何を知りたいですか?

質問は個別に回答され、過去の質問や回答は参照されません。必要な背景をすべて含めてください。