fix: Sync deploy script with NAS version (v7)
- Fix paths: docker-compose.yml (not docker compose.yml) - Use docker-compose command (not docker compose) - Now matches the working version on NAS Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Скрипт деплоя для octopus (FIXED v6 - Fix log path to use mounted volume)
|
# Скрипт деплоя для octopus (FIXED v7 - Correct paths and docker-compose)
|
||||||
LOG_FILE="/Volume1/DockerAppsData/mixapp/deploy-octopus.log"
|
LOG_FILE="/Volume1/DockerAppsData/mixapp/deploy-octopus.log"
|
||||||
HASH_FILE="/Volume1/DockerAppsData/mixapp/requirements-hash.txt"
|
HASH_FILE="/Volume1/DockerAppsData/mixapp/requirements-hash.txt"
|
||||||
DOCKER_COMPOSE_DIR="/Volume1/DockerYAML/mix"
|
DOCKER_COMPOSE_DIR="/Volume1/DockerYAML/mix"
|
||||||
@@ -11,9 +11,9 @@ echo "=== Deploy started at $(date) ===" >> "$LOG_FILE"
|
|||||||
echo "Step 1: Git pull..." >> "$LOG_FILE"
|
echo "Step 1: Git pull..." >> "$LOG_FILE"
|
||||||
docker exec git-cli sh -c "cd /git/octopus && git pull" >> "$LOG_FILE" 2>&1
|
docker exec git-cli sh -c "cd /git/octopus && git pull" >> "$LOG_FILE" 2>&1
|
||||||
|
|
||||||
# 2. Вычисляем общий хеш (requirements + docker config + docker compose)
|
# 2. Вычисляем общий хеш (requirements + docker config + docker-compose.yml)
|
||||||
echo "Step 2: Checking for structural changes..." >> "$LOG_FILE"
|
echo "Step 2: Checking for structural changes..." >> "$LOG_FILE"
|
||||||
NEW_HASH=$(docker exec git-cli sh -c "cd /git/octopus && cat myproject/requirements.txt docker/* docker/docker compose.yml | md5sum" | awk '{print $1}')
|
NEW_HASH=$(docker exec git-cli sh -c "cd /git/octopus && cat myproject/requirements.txt docker/* docker/docker-compose.yml | md5sum" | awk '{print $1}')
|
||||||
|
|
||||||
OLD_HASH=""
|
OLD_HASH=""
|
||||||
if [ -f "$HASH_FILE" ]; then
|
if [ -f "$HASH_FILE" ]; then
|
||||||
@@ -29,9 +29,9 @@ rm -rf "$APP_ROOT/docker"
|
|||||||
mkdir -p "$APP_ROOT/docker"
|
mkdir -p "$APP_ROOT/docker"
|
||||||
cp -r /Volume1/DockerAppsData/git/octopus/docker/. "$APP_ROOT/docker/" >> "$LOG_FILE" 2>&1
|
cp -r /Volume1/DockerAppsData/git/octopus/docker/. "$APP_ROOT/docker/" >> "$LOG_FILE" 2>&1
|
||||||
|
|
||||||
# 4. Обновляем docker compose.yml (Infrastructure as Code)
|
# 4. Обновляем docker-compose.yml (Infrastructure as Code)
|
||||||
echo "Step 4: Updating docker compose.yml..." >> "$LOG_FILE"
|
echo "Step 4: Updating docker-compose.yml..." >> "$LOG_FILE"
|
||||||
cp /Volume1/DockerAppsData/git/octopus/docker/docker compose.yml "$DOCKER_COMPOSE_DIR/docker compose.yml" >> "$LOG_FILE" 2>&1
|
cp /Volume1/DockerAppsData/git/octopus/docker/docker-compose.yml "$DOCKER_COMPOSE_DIR/docker-compose.yml" >> "$LOG_FILE" 2>&1
|
||||||
|
|
||||||
# 5. Устанавливаем права
|
# 5. Устанавливаем права
|
||||||
echo "Step 5: Setting permissions..." >> "$LOG_FILE"
|
echo "Step 5: Setting permissions..." >> "$LOG_FILE"
|
||||||
@@ -48,7 +48,7 @@ cd "$DOCKER_COMPOSE_DIR"
|
|||||||
|
|
||||||
if [ "$NEW_HASH" != "$OLD_HASH" ]; then
|
if [ "$NEW_HASH" != "$OLD_HASH" ]; then
|
||||||
echo "Step 6: Changes detected! Rebuilding ALL images..." >> "$LOG_FILE"
|
echo "Step 6: Changes detected! Rebuilding ALL images..." >> "$LOG_FILE"
|
||||||
docker compose build >> "$LOG_FILE" 2>&1
|
docker-compose build >> "$LOG_FILE" 2>&1
|
||||||
echo "$NEW_HASH" > "$HASH_FILE"
|
echo "$NEW_HASH" > "$HASH_FILE"
|
||||||
echo "Images rebuilt successfully!" >> "$LOG_FILE"
|
echo "Images rebuilt successfully!" >> "$LOG_FILE"
|
||||||
else
|
else
|
||||||
@@ -57,8 +57,8 @@ fi
|
|||||||
|
|
||||||
# 7. Полный перезапуск
|
# 7. Полный перезапуск
|
||||||
echo "Step 7: Restarting ALL containers..." >> "$LOG_FILE"
|
echo "Step 7: Restarting ALL containers..." >> "$LOG_FILE"
|
||||||
docker compose down >> "$LOG_FILE" 2>&1
|
docker-compose down >> "$LOG_FILE" 2>&1
|
||||||
docker compose up -d >> "$LOG_FILE" 2>&1
|
docker-compose up -d >> "$LOG_FILE" 2>&1
|
||||||
|
|
||||||
# 8. Ждём запуска и исправляем права через docker exec (внутри контейнера от root)
|
# 8. Ждём запуска и исправляем права через docker exec (внутри контейнера от root)
|
||||||
echo "Step 8: Waiting for containers and fixing permissions..." >> "$LOG_FILE"
|
echo "Step 8: Waiting for containers and fixing permissions..." >> "$LOG_FILE"
|
||||||
@@ -72,6 +72,6 @@ echo "Permissions fixed inside container" >> "$LOG_FILE"
|
|||||||
|
|
||||||
# Проверка
|
# Проверка
|
||||||
echo "Step 9: Check status..." >> "$LOG_FILE"
|
echo "Step 9: Check status..." >> "$LOG_FILE"
|
||||||
docker compose ps >> "$LOG_FILE" 2>&1
|
docker-compose ps >> "$LOG_FILE" 2>&1
|
||||||
|
|
||||||
echo "=== Deploy finished at $(date) ===" >> "$LOG_FILE"
|
echo "=== Deploy finished at $(date) ===" >> "$LOG_FILE"
|
||||||
|
|||||||
Reference in New Issue
Block a user