chore: STAGING_PATH entfernt, ci-starter-defaults für Template-Staging
- STAGING_PATH aus .env und Makefile (media-sync-local-to-staging) entfernt, Doku bereinigt - scripts/ci-starter-defaults.sh löst __PLACEHOLDER__ im CI-Workspace auf, dev/master bleiben identisch
This commit is contained in:
@@ -87,9 +87,6 @@ PRODUCTION_SERVER=dock4.basehosts.de
|
||||
PRODUCTION_TIBI_PREFIX=tibi
|
||||
PRODUCTION_PATH=/webroots2/customers/<customer-id>/htdocs
|
||||
|
||||
# Staging
|
||||
STAGING_PATH=/staging/<org>/<project>/dev
|
||||
|
||||
# URLs
|
||||
LIVE_URL=http://<subdomain>.<domain>.dock4.basispanel.de # Preview-URL
|
||||
STAGING_URL=https://dev-<project>.staging.testversion.online
|
||||
|
||||
@@ -119,7 +119,7 @@ Important:
|
||||
- if `GET /api/v1/project` with `X-Admin-Token: $ADMIN_TOKEN` returns `permission denied: admin token lacks permission project.read`, that token is not valid for project registration
|
||||
- create new projects by logging in with `admin` / `admin` in the default starter dev setup and using the returned JWT via `X-Auth-Token`
|
||||
- `ADMIN_ASSET_VERSION` is required so Nova picks up the current admin bundle
|
||||
- `PROJECT_NAME`, `TIBI_NAMESPACE`, `PRODUCTION_PATH`, and `STAGING_PATH` should be project-specific before the first deploy
|
||||
- `PROJECT_NAME`, `TIBI_NAMESPACE`, and `PRODUCTION_PATH` should be project-specific before the first deploy
|
||||
- `package.json` should no longer advertise the starter repository or default package name once the project is bootstrapped
|
||||
|
||||
## Step 4 — Install and start the Docker stack
|
||||
|
||||
@@ -15,8 +15,6 @@ PRODUCTION_SERVER=dock4.basehosts.de
|
||||
PRODUCTION_TIBI_PREFIX=tibi
|
||||
PRODUCTION_PATH=/webroots2/customers/_CUSTOMER_ID_/____
|
||||
|
||||
STAGING_PATH=/staging/__ORG__/__PROJECT__/dev
|
||||
|
||||
LIVE_URL=https://www
|
||||
STAGING_URL=https://dev-__PROJECT_NAME__.staging.testversion.online
|
||||
CODING_URL=https://__PROJECT_NAME__.code.testversion.online
|
||||
|
||||
@@ -20,6 +20,9 @@ jobs:
|
||||
- run: |
|
||||
git fetch --force --tags
|
||||
|
||||
- name: resolve starter defaults
|
||||
run: ./scripts/ci-starter-defaults.sh
|
||||
|
||||
- name: setup node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
|
||||
@@ -2,7 +2,7 @@ DOCKER_COMPOSE=docker compose -f docker-compose-local.yml
|
||||
|
||||
.DEFAULT_GOAL := help
|
||||
|
||||
.PHONY: init docker-up docker-restart-frontend docker-up-tibi-dev docker-start docker-start-tibi-dev docker-down docker-ps docker-logs yarn-upgrade fix-permissions mongo-sync-master-to-local media-sync-master-to-local mongo-sync-local-to-staging media-sync-local-to-staging test test-e2e test-api test-visual
|
||||
.PHONY: init docker-up docker-restart-frontend docker-up-tibi-dev docker-start docker-start-tibi-dev docker-down docker-ps docker-logs yarn-upgrade fix-permissions mongo-sync-master-to-local media-sync-master-to-local mongo-sync-local-to-staging test test-e2e test-api test-visual
|
||||
|
||||
include ./.env
|
||||
|
||||
@@ -92,6 +92,3 @@ mongo-sync-local-to-staging: ## sync mongo from local to staging area
|
||||
$(DOCKER_COMPOSE) exec -T mongo mongodump --archive --gzip --db=$(TIBI_PREFIX)_$(TIBI_NAMESPACE) | mongorestore --archive --gzip --nsFrom='$(TIBI_PREFIX)_$(TIBI_NAMESPACE).*' --nsTo='$(TIBI_PREFIX)_$(TIBI_NAMESPACE).*' --nsInclude='$(TIBI_PREFIX)_$(TIBI_NAMESPACE).*' --drop
|
||||
sleep 3
|
||||
killall chisel
|
||||
|
||||
media-sync-local-to-staging: ## sync attachments from local to staging area
|
||||
sudo rsync -v -az --info=progress2 media $(STAGING_PATH)/
|
||||
|
||||
@@ -5,6 +5,11 @@ set -euo pipefail
|
||||
# Called from .gitea/workflows/deploy.yml
|
||||
# Required env: API_BASEDIR, COMPOSE_PROJECT_NAME
|
||||
|
||||
# Starter template: resolve __PLACEHOLDER__ to CI workspace values (no-op for real projects)
|
||||
if [ -f ./scripts/ci-starter-defaults.sh ]; then
|
||||
./scripts/ci-starter-defaults.sh
|
||||
fi
|
||||
|
||||
# Read .env
|
||||
set -o allexport
|
||||
. ./.env
|
||||
|
||||
Executable
+60
@@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# CI helper: resolve starter placeholders for staging.
|
||||
# Called from .gitea/workflows/deploy.yml (before validate/build).
|
||||
# Keeps placeholders in git (template), patches .env in CI workspace only.
|
||||
#
|
||||
# Detection: PROJECT_NAME=__PROJECT_NAME__ or TIBI_NAMESPACE=__TIBI_NAMESPACE__
|
||||
# Real projects: no-op (already concrete values).
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
set -o allexport
|
||||
# shellcheck disable=SC1091
|
||||
. ./.env 2>/dev/null || true
|
||||
set +o allexport
|
||||
|
||||
is_starter="false"
|
||||
if [ "${PROJECT_NAME:-}" = "__PROJECT_NAME__" ]; then
|
||||
is_starter="true"
|
||||
fi
|
||||
if [ "${TIBI_NAMESPACE:-}" = "__TIBI_NAMESPACE__" ]; then
|
||||
is_starter="true"
|
||||
fi
|
||||
|
||||
if [ "${is_starter}" != "true" ]; then
|
||||
echo "ci-starter-defaults: real project (PROJECT_NAME=${PROJECT_NAME:-?}), nothing to do."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "ci-starter-defaults: starter detected, patching .env for CI workspace only."
|
||||
|
||||
PROJECT_NAME="tibi-svelte-starter"
|
||||
TIBI_NAMESPACE="tibi-svelte-starter"
|
||||
SENTRY_PROJECT="tibi-svelte-starter"
|
||||
STAGING_URL="https://dev-tibi-svelte-starter.staging.testversion.online"
|
||||
CODING_URL="https://tibi-svelte-starter.code.testversion.online"
|
||||
CODING_TIBIADMIN_URL="https://tibi-svelte-starter-tibiadmin.code.testversion.online"
|
||||
# Build uses LIVE_URL as originURL/PREVIEW_URL base — point it at staging for the starter
|
||||
LIVE_URL="${STAGING_URL}"
|
||||
|
||||
patch_env() {
|
||||
key="$1"
|
||||
val="$2"
|
||||
if grep -q "^${key}=" .env; then
|
||||
sed -i 's#^'"${key}"'=.*#'"${key}"'='"${val}"'#g' .env
|
||||
else
|
||||
printf '%s=%s\n' "${key}" "${val}" >> .env
|
||||
fi
|
||||
}
|
||||
|
||||
patch_env "PROJECT_NAME" "${PROJECT_NAME}"
|
||||
patch_env "TIBI_NAMESPACE" "${TIBI_NAMESPACE}"
|
||||
patch_env "SENTRY_PROJECT" "${SENTRY_PROJECT}"
|
||||
patch_env "STAGING_URL" "${STAGING_URL}"
|
||||
patch_env "CODING_URL" "${CODING_URL}"
|
||||
patch_env "CODING_TIBIADMIN_URL" "${CODING_TIBIADMIN_URL}"
|
||||
patch_env "LIVE_URL" "${LIVE_URL}"
|
||||
|
||||
echo "______ .env (starter-resolved) ______"
|
||||
cat .env
|
||||
Reference in New Issue
Block a user