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_TIBI_PREFIX=tibi
|
||||||
PRODUCTION_PATH=/webroots2/customers/<customer-id>/htdocs
|
PRODUCTION_PATH=/webroots2/customers/<customer-id>/htdocs
|
||||||
|
|
||||||
# Staging
|
|
||||||
STAGING_PATH=/staging/<org>/<project>/dev
|
|
||||||
|
|
||||||
# URLs
|
# URLs
|
||||||
LIVE_URL=http://<subdomain>.<domain>.dock4.basispanel.de # Preview-URL
|
LIVE_URL=http://<subdomain>.<domain>.dock4.basispanel.de # Preview-URL
|
||||||
STAGING_URL=https://dev-<project>.staging.testversion.online
|
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
|
- 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`
|
- 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
|
- `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
|
- `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
|
## Step 4 — Install and start the Docker stack
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ PRODUCTION_SERVER=dock4.basehosts.de
|
|||||||
PRODUCTION_TIBI_PREFIX=tibi
|
PRODUCTION_TIBI_PREFIX=tibi
|
||||||
PRODUCTION_PATH=/webroots2/customers/_CUSTOMER_ID_/____
|
PRODUCTION_PATH=/webroots2/customers/_CUSTOMER_ID_/____
|
||||||
|
|
||||||
STAGING_PATH=/staging/__ORG__/__PROJECT__/dev
|
|
||||||
|
|
||||||
LIVE_URL=https://www
|
LIVE_URL=https://www
|
||||||
STAGING_URL=https://dev-__PROJECT_NAME__.staging.testversion.online
|
STAGING_URL=https://dev-__PROJECT_NAME__.staging.testversion.online
|
||||||
CODING_URL=https://__PROJECT_NAME__.code.testversion.online
|
CODING_URL=https://__PROJECT_NAME__.code.testversion.online
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ jobs:
|
|||||||
- run: |
|
- run: |
|
||||||
git fetch --force --tags
|
git fetch --force --tags
|
||||||
|
|
||||||
|
- name: resolve starter defaults
|
||||||
|
run: ./scripts/ci-starter-defaults.sh
|
||||||
|
|
||||||
- name: setup node
|
- name: setup node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ DOCKER_COMPOSE=docker compose -f docker-compose-local.yml
|
|||||||
|
|
||||||
.DEFAULT_GOAL := help
|
.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
|
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
|
$(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
|
sleep 3
|
||||||
killall chisel
|
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
|
# Called from .gitea/workflows/deploy.yml
|
||||||
# Required env: API_BASEDIR, COMPOSE_PROJECT_NAME
|
# 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
|
# Read .env
|
||||||
set -o allexport
|
set -o allexport
|
||||||
. ./.env
|
. ./.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