fix: make workflow package installation environment-agnostic (fix apk command not found)

This commit is contained in:
2026-05-25 08:08:35 +05:00
parent bb971e665f
commit 33773b373d
+38 -3
View File
@@ -19,7 +19,16 @@ jobs:
env: env:
TOKEN: ${{ secrets.GIT_TOKEN }} TOKEN: ${{ secrets.GIT_TOKEN }}
run: | run: |
apk add --no-cache git if ! command -v git >/dev/null 2>&1; then
if command -v apk >/dev/null 2>&1; then
apk add --no-cache git
elif command -v apt-get >/dev/null 2>&1; then
apt-get update && apt-get install -y git
else
echo "Git not found and no package manager detected"
exit 1
fi
fi
CLEAN_TOKEN=$(printf '%s' "${TOKEN}" | tr -d '\r\n') CLEAN_TOKEN=$(printf '%s' "${TOKEN}" | tr -d '\r\n')
git clone "http://oauth2:${CLEAN_TOKEN}@gitea:3000/AVTEX/XFlow.git" . git clone "http://oauth2:${CLEAN_TOKEN}@gitea:3000/AVTEX/XFlow.git" .
@@ -47,7 +56,28 @@ jobs:
- name: Deploy to server - name: Deploy to server
run: | run: |
apk add --no-cache docker-cli docker-compose if ! command -v docker >/dev/null 2>&1; then
if command -v apk >/dev/null 2>&1; then
apk add --no-cache docker-cli
elif command -v apt-get >/dev/null 2>&1; then
apt-get update && apt-get install -y docker.io
else
echo "Docker not found and no package manager detected"
exit 1
fi
fi
if ! command -v docker-compose >/dev/null 2>&1 && ! docker compose version >/dev/null 2>&1; then
if command -v apk >/dev/null 2>&1; then
apk add --no-cache docker-compose
elif command -v apt-get >/dev/null 2>&1; then
apt-get update && apt-get install -y docker-compose
else
echo "Docker compose not found and no package manager detected"
exit 1
fi
fi
# Подготовка папок в новой структуре # Подготовка папок в новой структуре
mkdir -p /root/projects/xflow/.output /root/projects/xflow/prisma /root/projects/xflow/node_modules mkdir -p /root/projects/xflow/.output /root/projects/xflow/prisma /root/projects/xflow/node_modules
cp -r .output/. /root/projects/xflow/.output/ cp -r .output/. /root/projects/xflow/.output/
@@ -60,7 +90,12 @@ jobs:
# Мы используем мастер-файл из корня проектов # Мы используем мастер-файл из корня проектов
docker stop xflow_crm 2>/dev/null || true docker stop xflow_crm 2>/dev/null || true
docker rm xflow_crm 2>/dev/null || true docker rm xflow_crm 2>/dev/null || true
docker compose -f /root/projects/docker-compose.yml up -d --no-deps xflow_crm
if docker compose version >/dev/null 2>&1; then
docker compose -f /root/projects/docker-compose.yml up -d --no-deps xflow_crm
else
docker-compose -f /root/projects/docker-compose.yml up -d --no-deps xflow_crm
fi
echo "⏳ Waiting for container to start..." echo "⏳ Waiting for container to start..."
sleep 5 sleep 5