45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
import os
|
|
import sys
|
|
import requests
|
|
import git
|
|
import shutil
|
|
|
|
def current_version():
|
|
current_version = open("version", "r").read()
|
|
return current_version
|
|
|
|
def get_latest_release(owner, repo):
|
|
url = f"http://gitlab.stines.de/api/v1/repos/sebastian.serfling/Agents/releases/latest"
|
|
response = requests.get(url)
|
|
response.raise_for_status()
|
|
release_info = response.json()
|
|
return release_info['name']
|
|
|
|
def check_version():
|
|
new_version = get_latest_release("", "")
|
|
if current_version() != new_version:
|
|
try:
|
|
git.Repo.clone_from("http://172.17.1.251/sebastian.serfling/Agents.git",f'../{get_latest_release("","")}')
|
|
except:
|
|
next
|
|
if os.path.isdir(f"../{new_version}"):
|
|
try:
|
|
shutil.move("../latest", f"../{current_version}")
|
|
except:
|
|
print("folder not Found")
|
|
shutil.move(f"../{new_version}", "../latest")
|
|
return True
|
|
else:
|
|
return False
|
|
|
|
|
|
|
|
# Get Current Version of Files -> Verionfile txt on /opt/agents/version.txt
|
|
|
|
# Check Verison on Github by Curl http://172.17.1.251/sebastian.serfling/Agents/src/branch/main/version
|
|
|
|
# IF Version same -> close
|
|
|
|
# IF not same -> Update, restart service
|
|
|