diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 41b51ed..4016eaa 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -37,7 +37,8 @@ jobs: - name: Assemble site (install.sh only) run: | mkdir -p _site - cp install.sh _site/install.sh + cp install.sh _site/i # 正規の短縮パス (https://dl.basex.jp/i) + cp install.sh _site/install.sh # 後方互換エイリアス echo 'dl.basex.jp' > _site/CNAME cat > _site/index.html <<'HTML' @@ -46,7 +47,7 @@ jobs:

devbase installer

ワンライナーインストール:

-
curl -fsSL https://dl.basex.jp/install.sh | bash
+
curl -fsSL https://dl.basex.jp/i | bash

ソース: github.com/devbasex/devbase

diff --git a/.gitignore b/.gitignore index 8fad591..a3390e2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ __pycache__/ .venv/ .env +.env.bak .env.backup .gemini/ .docker-compose.scale.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index 92a2efa..5c7a5b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ ### Added - **ワンライナー installer (`install.sh`) を新設**しました (PLAN31_1)。 - `curl -fsSL https://dl.basex.jp/install.sh | bash` + `curl -fsSL https://dl.basex.jp/i | bash` で `~/devbase` への clone(既存なら `git pull --ff-only`)と `devbase init` まで 自動完了します(uv の自動導入・PATH/補完の登録・`plugins.yml` 生成を含む)。 - 配置先 / clone 元 / ref を `DEVBASE_INSTALL_DIR` / `DEVBASE_INSTALL_REPO` / diff --git a/README.md b/README.md index baa5e58..baa82bf 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ devbaseは、Docker Composeを使った再現性の高い開発環境を提供 ### ワンライナーインストール(推奨) ```bash -curl -fsSL https://dl.basex.jp/install.sh | bash +curl -fsSL https://dl.basex.jp/i | bash ``` `~/devbase` に clone(既存なら更新)し、`devbase init` まで自動実行します(uv の自動導入・PATH/補完の登録・`plugins.yml` 生成を含む)。**新しく開くターミナルでは自動で有効**です。 @@ -41,13 +41,13 @@ curl -fsSL https://dl.basex.jp/install.sh | bash ```bash # 例: 別ディレクトリへ特定タグを入れる(パイプではなく保存実行でも env は同様に効きます) DEVBASE_INSTALL_DIR=~/work/devbase DEVBASE_INSTALL_REF=v1.2.3 \ - bash -c "$(curl -fsSL https://dl.basex.jp/install.sh)" + bash -c "$(curl -fsSL https://dl.basex.jp/i)" ``` > **⚠ `curl | bash` を実行する前に**: 中身を確認したい場合は、いったん保存してから実行してください。 > > ```bash -> curl -fsSL https://dl.basex.jp/install.sh -o install.sh +> curl -fsSL https://dl.basex.jp/i -o install.sh > less install.sh # 内容を確認 > bash install.sh > ``` diff --git a/docs/developer/installer-hosting.md b/docs/developer/installer-hosting.md index 8a9cc91..6553275 100644 --- a/docs/developer/installer-hosting.md +++ b/docs/developer/installer-hosting.md @@ -9,7 +9,8 @@ - `curl -fsSL | bash` で実行する静的ファイル `install.sh` を、安定した 短い HTTPS URL で配信する。 - 配信 URL を `https://raw.githubusercontent.com/devbasex/devbase/main/install.sh` - (約 73 文字)から `https://dl.basex.jp/install.sh`(約 33 文字)へ短縮する。 + (約 73 文字)から `https://dl.basex.jp/i`(約 21 文字)へ短縮する。 + 後方互換のため `https://dl.basex.jp/install.sh` も同一内容のエイリアスとして配信する。 - スコープ外: installer 自体の挙動(`issues/PLAN31_1_devbase-installer.md` 参照)。 ## 2. 決定事項 @@ -18,7 +19,7 @@ |---|---| | ホスティング | **GitHub Pages**(devbasex/devbase リポジトリ) | | カスタムドメイン | **`dl.basex.jp`** | -| 配信 URL | **`https://dl.basex.jp/install.sh`** | +| 配信 URL | **`https://dl.basex.jp/i`** | | ドメインレジストラ | お名前.com(basex.jp) | | DNS | お名前.com DNS(`01〜04.dnsv.jp`)に `dl` の CNAME | | 月額コスト | **$0**(GitHub Pages 無料枠) | @@ -39,7 +40,7 @@ installer 程度のトラフィックでは GitHub Pages の無料枠で十分 ```mermaid flowchart LR - U["ユーザー
curl -fsSL https://dl.basex.jp/install.sh | bash"] + U["ユーザー
curl -fsSL https://dl.basex.jp/i | bash"] R[".jp レジストリ"] O["お名前.com DNS
01〜04.dnsv.jp"] GP["GitHub Pages
185.199.108-111.153"] @@ -78,6 +79,8 @@ flowchart LR 正本(single source of truth)であり、Pages 用に複製しない。 - 成果物に `CNAME`(内容 `dl.basex.jp`)を含め、custom domain を固定する。 - ルート(`/`)には簡単な案内 HTML を置く(任意)。 +- 配信パスは `/i` を正規とし、後方互換のため `/install.sh` も同一内容で配信する + (ワークフローで `install.sh` を `_site/i` と `_site/install.sh` の両方へコピー)。 ### 5.2 配信ワークフロー(`.github/workflows/pages.yml`) @@ -87,7 +90,7 @@ flowchart TD B --> C["_site/ 組み立て
install.sh / CNAME / index.html"] C --> D["upload-pages-artifact"] D --> E["deploy-pages"] - E --> F["https://dl.basex.jp/install.sh 更新"] + E --> F["https://dl.basex.jp/i 更新"] ``` 要点: @@ -143,10 +146,10 @@ curl -fsS 'https://dns.google/resolve?name=dl.basex.jp&type=CNAME' # 配信: install.sh が 200 で取得でき、HTTPS 証明書が一致するか curl -fsSL -o /dev/null -w 'HTTP %{http_code} ssl_verify=%{ssl_verify_result}\n' \ - https://dl.basex.jp/install.sh + https://dl.basex.jp/i # 中身の先頭確認 -curl -fsSL https://dl.basex.jp/install.sh | head -20 +curl -fsSL https://dl.basex.jp/i | head -20 ``` - DNS 成功時は `Status:0` で `data` が `devbasex.github.io.`。 @@ -172,7 +175,7 @@ curl -fsSL https://dl.basex.jp/install.sh | head -20 - DNS(`dl.basex.jp` CNAME): **完了**(GitHub Pages IP に解決・確認済み)。 - GitHub Pages 有効化 / custom domain / Enforce HTTPS: **完了**。 - `https://dl.basex.jp/install.sh` が HTTP 200・証明書一致・`http→https` 301 を確認済み。 + `https://dl.basex.jp/i` が HTTP 200・証明書一致・`http→https` 301 を確認済み。 - URL 更新(README / docs / install.sh): **完了**(#49)。配信内容の sha256 が `main:install.sh` と一致することを確認済み。 - ドメイン検証 TXT(§4・乗っ取り防止): **未**(推奨)。GitHub の Verify domains で diff --git a/docs/user/getting-started.md b/docs/user/getting-started.md index e3cfc6d..2de5e78 100644 --- a/docs/user/getting-started.md +++ b/docs/user/getting-started.md @@ -22,7 +22,7 @@ devbase を利用するには、以下のソフトウェアがホストマシン 手順 1〜2(クローンと初期化)を 1 コマンドで自動化できます。`git` と `curl` があれば実行できます。 ```bash -curl -fsSL https://dl.basex.jp/install.sh | bash +curl -fsSL https://dl.basex.jp/i | bash ``` このコマンドは次を行います。 @@ -48,7 +48,7 @@ curl -fsSL https://dl.basex.jp/install.sh | bash > **⚠ `curl | bash` を実行する前に**: 信頼できないスクリプトをそのままパイプ実行するのが不安な場合は、保存して内容を確認してから実行してください。 > > ```bash -> curl -fsSL https://dl.basex.jp/install.sh -o install.sh +> curl -fsSL https://dl.basex.jp/i -o install.sh > less install.sh # 内容を確認 > bash install.sh > ``` diff --git a/install.sh b/install.sh index 20c6bc1..f1c9fec 100755 --- a/install.sh +++ b/install.sh @@ -2,7 +2,7 @@ # # devbase ワンライナー installer (PLAN31_1) # -# curl -fsSL https://dl.basex.jp/install.sh | bash +# curl -fsSL https://dl.basex.jp/i | bash # # clone (または pull) して `bin/devbase init` を 1 回呼ぶだけの薄い導入スクリプト。 # uv の自動導入・rc 追記・補完登録・plugins.yml 生成・冪等性・旧版移行はすべて