fix(deploy): rm -f .env.docker avant write + tr -d '"' nuclear
Le fichier accumulait des entrees quotees des anciens deploys. Le sed regex ne matchait pas (CRLF ou format inattendu). Fix root cause: - ci.yaml + deploy.yaml: rm -f avant touch (fichier clean a chaque deploy) - deploy-prod.sh: tr -d '"' supprime TOUT guillemet du fichier (nuclear, infaillible)
This commit is contained in:
@@ -177,6 +177,7 @@ jobs:
|
||||
MCP_API_KEY: ${{ secrets.MCP_API_KEY }}
|
||||
run: |
|
||||
ENV_FILE="/opt/memento/.env.docker"
|
||||
rm -f "$ENV_FILE"
|
||||
touch "$ENV_FILE"
|
||||
upsert() {
|
||||
local key="$1" val="$2"
|
||||
|
||||
@@ -66,6 +66,7 @@ jobs:
|
||||
MCP_API_KEY: ${{ secrets.MCP_API_KEY }}
|
||||
run: |
|
||||
ENV_FILE="/opt/memento/.env.docker"
|
||||
rm -f "$ENV_FILE"
|
||||
touch "$ENV_FILE"
|
||||
upsert() {
|
||||
local key="$1" val="$2"
|
||||
|
||||
@@ -127,11 +127,9 @@ HEALTH_CHECK_SLEEP_SECONDS=5
|
||||
|
||||
cd "$ROOT"
|
||||
|
||||
# Sanitize .env.docker: strip CRLF + quotes (Docker Compose v2 rejects VAR="val")
|
||||
# Sanitize .env.docker: Docker Compose v2 rejects ANY quote character
|
||||
if [ -f "$ROOT/.env.docker" ]; then
|
||||
sed -i 's/\r$//' "$ROOT/.env.docker"
|
||||
sed -i -E 's/^([A-Za-z_][A-Za-z0-9_]*)="(.*)"$/\1=\2/' "$ROOT/.env.docker"
|
||||
sed -i -E "s/^([A-Za-z_][A-Za-z0-9_]*)='(.*)'$/\1=\2/" "$ROOT/.env.docker"
|
||||
tr -d '"' < "$ROOT/.env.docker" > "$ROOT/.env.docker.tmp" && mv "$ROOT/.env.docker.tmp" "$ROOT/.env.docker"
|
||||
fi
|
||||
|
||||
load_env_docker
|
||||
|
||||
Reference in New Issue
Block a user