非公式
このページの内容
  1. 01Web ターゲット
  2. 02ウェブサイトのプロジェクト
  3. 03編集、プッシュ、公開
  4. 04公開時の動作

Git からウェブサイトを作る: プッシュごとにビルドし、NAS の Web サーバーで公開する

Bucket & Code Server IDE は、NAS 上の Git リポジトリで静的ウェブサイトを管理します。ページは src/ に置き、Makefile で public/ にコピーします。プッシュするたびに NAS のランナーでリンク検査が実行されます。ボタン一つで public/ を同じ NAS の QTS Web サーバーなどにコピーし、公開されたページを読み戻して確認します。

  1. 公開先フォルダーとそのアドレス
  2. プロジェクト新しいプロジェクト、静的 Web サイト
  3. プッシュプッシュごとに make test
  4. 公開public/ を公開先へ

画像は、このガイドのとおりに各項目を設定した Bucket & Code Server IDE の画面です。NAS のアドレスは 192.168.1.20、アカウント名は ola です。

01Web ターゲット

Web ターゲットは公開先です。Web サーバーが配信するこの NAS のフォルダーか、SFTP、FTP、WebDAV、S3 経由の自分のサーバーなど、rclone のリモートを指定できます。QTS の Web サーバー (Control Panel → Applications → Web Server) は共有フォルダー Web を http://<NAS address>/ で配信するため、その中のフォルダーが最も簡単な公開先です。

  1. 管理者として、Administration の 公開 ページを開き、Web ターゲット カードの 保存先を追加 を押します。
  2. この NAS のフォルダー を選び、名前 を付け、フォルダー に共有フォルダー内の専用フォルダー (例: /share/Web/mysite) を入力します。空か新規のフォルダーを使い、共有フォルダー全体は指定しません。アプリのデータフォルダーの外に置きます。
  3. フォルダーを配信する 公開アドレス を入力します。この例では http://192.168.1.20/mysite/ です。http:// または https:// で始め、ユーザー名、パスワード、クエリ、フラグメントは含めません。ターゲットを追加 を押します。 Web ターゲットの追加フォーム: この NAS のフォルダーを選択し、名前 My website、フォルダー /share/Web/mysite、公開アドレス http://192.168.1.20/mysite/ を入力して、ターゲットを追加ボタンを表示
  4. 一覧からターゲットを選び、テスト を押します。小さなファイルがフォルダーにコピーされ、公開アドレスから読み戻された後、削除されます。 Web ターゲットのカード: My website、/share/Web/mysite、http://192.168.1.20/mysite/ と、ファイルのコピー、公開アドレスからの読み戻し、削除を示す直近のテスト結果

rclone の公開先には、バックアップ用 rclone.conf で定義したリモート名、その中のパス、さらにそのパスを配信する公開アドレスを指定します。

02ウェブサイトのプロジェクト

Git ページまたはコマンドパレットから 新しいプロジェクト を開きます。ここでは developer ロールが必要です。後述する公開操作には管理者権限が必要です。

  1. テンプレート: Web サイト から 静的 Web サイト を選びます。 選択された静的 Web サイトのカード: src/ にページとアセットを置き、Makefile で public/ にコピーし、make test でリンクを検査
  2. 名前と公開範囲: 名前 (例: mysite) はリポジトリ名と projects/mysite のフォルダー名になります。すべてのアカウントに読み取りを許可する場合以外は 非公開 のままにします。 名前 mysite、所有者 ola、非公開または公開を選ぶ画面
  3. ビルド: 作成後すぐにビルド をオンのままにします。
  4. 公開: 自分の Web サーバーに公開 をオンにして、ターゲットを選びます。ここにある 保存先を追加 も、公開ページと同じ操作です。 自分の Web サーバーに公開をオンにした画面: public/ を Web ターゲットにコピーし、公開アドレスから index.html を読み戻す設定と、選択された My website
  5. 確認 に進み、プロジェクトを作成 を押します。画面には、リポジトリと最初のコミット、最初のビルド、公開の各手順が表示されます。 プロジェクト作成中の画面: Forgejo リポジトリと最初のコミット、最初のビルド、Web サーバーへの公開がそれぞれ完了

ウェブサイトは公開先の公開アドレスで表示できます。

ブラウザーに表示されたテンプレートのページ: mysite、src/index.html を示す説明とサイト紹介へのリンク

03編集、プッシュ、公開

  • エディターで src/ のページを編集し (プロジェクトは projects/ フォルダー内)、コミットしてプッシュします。make は src/ を public/ にコピーします。make test は各ページのローカルな href= と src= が public/ 内のファイルを指すか確認し、make clean は public/ を削除します。
  • CI モジュールがオンの間は、プッシュのたびに NAS のランナーでプロジェクトのワークフローが実行され、Ubuntu 24.04 のビルド環境で make test を実行します。リンク切れがあると実行は失敗します。 Forgejo の Actions タブ: 最初のコミットに対する build.yml の実行 1 が成功
  • プロジェクトページ (プロジェクト、またはエディターのサイドバー) から手動でビルドと公開ができます。ビルド は make、再ビルド は make clean の後に make を実行し、管理者用の My website に公開 は public/ を公開先に送ります。プッシュだけで自動公開されることはありません。 プロジェクトの手順: 既定のターゲット all でビルド済み、再ビルドと My website に公開のボタン、公開済みの状態

04公開時の動作

  • 公開後、公開先フォルダーにはウェブサイトのファイルだけが残ります。サイトから消したファイルは公開先からも削除されます。bvsd は最初に書き込む際、フォルダーに .bvs-web-target を置きます (テスト時にも置きます)。ほかのファイルがあり、この印がないフォルダーは拒否されるため、無関係なフォルダーを空にしません。
  • コピー後、公開アドレスから index.html を読み戻し、バイト単位で比較します。コピーした内容がそのアドレスから得られない場合、ジョブは web_check: と両方の値を示して失敗します。Web サーバーが別のフォルダーを配信しているか、アドレスが間違っています。
  • QPKG を作成するプロジェクトも同様に、最新の .qpkg とその .sha256 を公開し、sha256 を検証します。