gitea: added update script
This commit is contained in:
parent
31ee1a9c74
commit
4d33384872
|
@ -0,0 +1,5 @@
|
|||
*~
|
||||
.*.sw?
|
||||
.sw?
|
||||
\#*\#
|
||||
DEADJOE
|
|
@ -0,0 +1,87 @@
|
|||
#!/bin/bash
|
||||
PATH="/usr/local/bin:/usr/bin:/bin"
|
||||
upurl="https://api.github.com/repos/go-gitea/gitea/releases/latest"
|
||||
despa="${HOME}/temp/gitea_update"
|
||||
exdir="/gitea"
|
||||
exdir_update="${exdir}/update"
|
||||
expa="${exdir}/gitea"
|
||||
reltag=""
|
||||
pushovermsg=""
|
||||
rtcode=0
|
||||
latest_curl=""
|
||||
giteaname=""
|
||||
giteauser="gitea"
|
||||
|
||||
function cleanup() {
|
||||
/bin/rm -rf "${despa}"
|
||||
sudo /bin/rm -f "${exdir_update}/"gitea*linux-amd64* >/dev/null 2>&1
|
||||
}
|
||||
|
||||
trap cleanup EXIT SIGHUP SIGINT SIGTERM
|
||||
|
||||
sendpushover() {
|
||||
/home/suchademon/VersionControl/pushover/pushover.sh -d maindevices -t gitea -A notifyDeamon "$1" &
|
||||
}
|
||||
|
||||
/bin/mkdir -p ${despa} >/dev/null 2>&1 || exit 2
|
||||
latest_curl=$(/usr/bin/curl -s "${upurl}")
|
||||
reltag=$(/usr/bin/jq -r '.name' <<<"${latest_curl}" | sed -e 's/^v//g')
|
||||
|
||||
if /usr/bin/sudo ${expa} --version | grep -q "Gitea version ${reltag} " ; then
|
||||
echo "Upstream version same as local binary ${reltag}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
giteaname="gitea-${reltag}-linux-amd64"
|
||||
dlpath=$(/usr/bin/jq -r '.assets|.[].browser_download_url' <<<"${latest_curl}" | grep -E "linux.amd64.sha256$" )
|
||||
if /usr/bin/wget "${dlpath}" --output-document "${despa}/${giteaname}.sha256" >/dev/null 2>&1 ; then
|
||||
echo "downloaded gitea-${reltag} sha256 sum"
|
||||
dlpath=$(/usr/bin/jq -r '.assets|.[].browser_download_url' <<<"${latest_curl}" | grep -E "linux.amd64$" )
|
||||
if /usr/bin/wget "${dlpath}" --output-document "${despa}/${giteaname}" >/dev/null 2>&1 ; then
|
||||
echo "downloaded gitea-${reltag} binary"
|
||||
if [ "$(/bin/cat "${despa}/${giteaname}.sha256" | /usr/bin/awk '{print $1}')" != "$(/usr/bin/sha256sum "${despa}/${giteaname}" | /usr/bin/awk '{print $1}')" ]; then
|
||||
sendpushover "SHA256 of gitea-${reltag} do not match .sha256 file\n-------------------------------------\n$(/bin/cat "${despa}/${giteaname}.sha256")\n$(/usr/bin/sha256sum ""${despa}/${giteaname}"")"
|
||||
exit 1
|
||||
fi
|
||||
echo "new gitea-${reltag} sum checked ok"
|
||||
echo "comparing gitea sum new with running version"
|
||||
if [ "$(/usr/bin/sudo /usr/bin/sha256sum ${expa} | /usr/bin/awk '{print $1}')" != "$(/usr/bin/sha256sum "${despa}/${giteaname}" | /usr/bin/awk '{print $1}')" ]; then
|
||||
echo "new version detected"
|
||||
echo "move gitea-${reltag} to update dir"
|
||||
if sudo /usr/bin/mv "${despa}/${giteaname}.sha256" "${exdir_update}/${giteaname}.sha256" >/dev/null 2>&1 ; then
|
||||
if sudo /usr/bin/mv "${despa}/${giteaname}" "${exdir_update}/${giteaname}" ; then
|
||||
if sudo /usr/bin/chown ${giteauser}. "${exdir_update}/gitea-${reltag}"* >/dev/null 2>&1 ; then
|
||||
if ! sudo /usr/bin/chmod 700 ${giteauser} "${exdir_update}/gitea-${reltag}"* >/dev/null 2>&1 ; then
|
||||
echo "failed to change mod gitea-${reltag} update files"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "failed to chown gitea-${reltag} update files"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "failed to move gitea-${reltag} binary to update dir"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "failed to move gitea-${reltag} sha256 to update dir"
|
||||
exit 1
|
||||
fi
|
||||
echo "try to deploy new gitea version"
|
||||
if pushovermsg="$(/usr/bin/sudo ${exdir_update}/update_gitea.sh -p -n "${exdir_update}/${giteaname}")" ; then
|
||||
pushovermsg="gitea ${reltag} available on github (autodeploy) \n${reltag}\n${pushovermsg}\nAutodeploy finished, version live"
|
||||
else
|
||||
pushovermsg="gitea ${reltag} available on github, auto deploy did not work\n-------------------------------------\n${pushovermsg}\nCopied files to gitea-update dir"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
pushovermsg="Could not download ${dlpath}"
|
||||
rtcode=1
|
||||
fi
|
||||
else
|
||||
pushovermsg="Could not download ${dlpath}"
|
||||
rtcode=1
|
||||
fi
|
||||
|
||||
sendpushover "${pushovermsg}"
|
||||
exit ${rtcode}
|
Loading…
Reference in New Issue