Проект

Общее

Профиль

В релизы добавить latest

Добавил(а) Макаров Леонид 4 месяца назад

Добрый день, коллеги!
Есть предложение для вас - выкладывать в файлах не только последний билд, как вы выкладываете "tegu-ent-v1.39.35-x86_64.tar.gz", а еще его же выкладывать как "tegu-ent- latest -x86_64.tar.gz".

Хотелось бы обновляться не руками, а каким нить простым скриптом:
- остановить сервис
- скачать latest
- распаковать
- заменить файлы
- стартовать сервис


Ответы (2)

RE: В релизы добавить latest - Добавил(а) Макаров Леонид 3 месяца назад

Спасибо, что переделали репозиторий!

Вот небольшой скрипт для обновления Тегу

#!/bin/bash

# check dir and create if nonexist
if [ ! -d "/opt/tegu_updater" ]; then
  mkdir -p /opt/tegu_updater
fi

#check for valid url
if wget -q --method=HEAD https://downloads.mbk-lab.ru/stable/tegu-ent-latest-x86_64.tar.gz;
 then
    #download latest    
    wget -q -P /opt/tegu_updater https://downloads.mbk-lab.ru/stable/tegu-ent-latest-x86_64.tar.gz
    echo "Скачиваем архив... "    

    #unpack 
    tar -xzf /opt/tegu_updater/tegu-ent-latest-x86_64.tar.gz -C /opt/tegu_updater/
    rm /opt/tegu_updater/tegu-ent-latest-x86_64.tar.gz
    mv /opt/tegu_updater/tegu* /opt/tegu_updater/latest    
    echo "Распаковываем архив..."         

    #stop service and update
    systemctl stop tegu.service
    echo "Останавливаем службу tegu..."        

    STATUS=$(systemctl is-active tegu.service)
    if  [ "${STATUS}" = "active" ]; then
        echo -e "Не удалось остановить сервис. \n\033[0;31mОбновление не удалось!\033[0m" 

    else
        cp /opt/tegu_updater/latest/bin/* /opt/tegu/bin
        cp /opt/tegu_updater/latest/sbin/* /opt/tegu/sbin    
        setcap CAP_NET_BIND_SERVICE=+eip /opt/tegu/sbin/tegu        
        systemctl start tegu.service
        echo "\033[0;32mОбновление завершено!\033[0m" 
    fi

    #remove dir latest
    rm -r /opt/tegu_updater/latest
else
  echo -e "Сайт недоступен или поменялся путь до файла tegu-ent-latest. \n\033[0;31mОбновление не удалось!\033[0m" 
fi

RE: В релизы добавить latest - Добавил(а) Кальметов Игорь 3 месяца назад

Прекрасно!

Ну, автоматизировать процесс конечно можно бесконечно.
К примеру в кроне анализировать файл "sha1sum.txt" и в случае появления новой нужной версии, запускать обновление.

    (1-2/2)