fix idempotency in app.sh, service.sh and nginx reload in cert handler
This commit is contained in:
+26
-11
@@ -156,15 +156,23 @@ cmd_dns() {
|
||||
cmd_files() {
|
||||
local name="$1"
|
||||
|
||||
if [ -d "$REPO_ROOT/docker/$name" ]; then
|
||||
echo "Error: docker/$name already exists."
|
||||
exit 1
|
||||
local all_exist=true
|
||||
for f in "docker/$name/compose.yml" ".gitea/workflows/deploy-$name.yml"; do
|
||||
if [ ! -e "$REPO_ROOT/$f" ]; then
|
||||
all_exist=false
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ "$all_exist" = true ]; then
|
||||
echo " All files already exist, skipping."
|
||||
return
|
||||
fi
|
||||
|
||||
echo "==> Creating docker/$name/compose.yml..."
|
||||
mkdir -p "$REPO_ROOT/docker/$name"
|
||||
touch "$REPO_ROOT/docker/$name/.gitignore"
|
||||
cat > "$REPO_ROOT/docker/$name/compose.yml" <<EOF
|
||||
if [ ! -e "$REPO_ROOT/docker/$name/compose.yml" ]; then
|
||||
echo "==> Creating docker/$name/compose.yml..."
|
||||
mkdir -p "$REPO_ROOT/docker/$name"
|
||||
touch "$REPO_ROOT/docker/$name/.gitignore"
|
||||
cat > "$REPO_ROOT/docker/$name/compose.yml" <<EOF
|
||||
services:
|
||||
$name:
|
||||
image: TODO
|
||||
@@ -177,10 +185,14 @@ networks:
|
||||
shared:
|
||||
external: true
|
||||
EOF
|
||||
else
|
||||
echo " docker/$name/compose.yml already exists, skipping."
|
||||
fi
|
||||
|
||||
echo "==> Creating .gitea/workflows/deploy-$name.yml..."
|
||||
mkdir -p "$REPO_ROOT/.gitea/workflows"
|
||||
cat > "$REPO_ROOT/.gitea/workflows/deploy-$name.yml" <<'OUTER'
|
||||
if [ ! -e "$REPO_ROOT/.gitea/workflows/deploy-$name.yml" ]; then
|
||||
echo "==> Creating .gitea/workflows/deploy-$name.yml..."
|
||||
mkdir -p "$REPO_ROOT/.gitea/workflows"
|
||||
cat > "$REPO_ROOT/.gitea/workflows/deploy-$name.yml" <<'OUTER'
|
||||
name: Deploy APP_PLACEHOLDER
|
||||
|
||||
on:
|
||||
@@ -201,7 +213,10 @@ jobs:
|
||||
chmod 600 ~/.ssh/deploy_key
|
||||
ssh -o StrictHostKeyChecking=yes -i ~/.ssh/deploy_key deploy@${{ vars.DEPLOY_HOST }} deploy-APP_PLACEHOLDER
|
||||
OUTER
|
||||
sed -i "s/APP_PLACEHOLDER/$name/g" "$REPO_ROOT/.gitea/workflows/deploy-$name.yml"
|
||||
sed -i "s/APP_PLACEHOLDER/$name/g" "$REPO_ROOT/.gitea/workflows/deploy-$name.yml"
|
||||
else
|
||||
echo " .gitea/workflows/deploy-$name.yml already exists, skipping."
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Done. Edit docker/$name/compose.yml, then commit and push."
|
||||
|
||||
Reference in New Issue
Block a user