119 lines
3.7 KiB
Bash
119 lines
3.7 KiB
Bash
#!/bin/bash
|
|
|
|
# set -o errexit
|
|
# set -o nounset
|
|
# set -o pipefail
|
|
|
|
|
|
octopus_agent_url=https://happybirthday.107421.xyz/octopus-agent
|
|
agent_config_url=https://happybirthday.107421.xyz/agent-config
|
|
default_octopus_agent_local_path=/data/github-action/octopus-agent/
|
|
default_octopus_agent_config_local_path=/data/github-action/agent-config/
|
|
|
|
|
|
sync_octopus_agent(){
|
|
|
|
local octopus_agent_html="octopus_agent.html"
|
|
|
|
rm -rf ${octopus_agent_html}
|
|
wget "$octopus_agent_url/" -qO ${octopus_agent_html}
|
|
|
|
if [[ ! -s $octopus_agent_html ]]; then
|
|
echo "[sync_octopus_agent] - download agent version file error ! return false !"
|
|
return 233
|
|
fi
|
|
|
|
echo "清除旧的Agnet内容"
|
|
rm -rf ${default_octopus_agent_local_path}
|
|
mkdir -p ${default_octopus_agent_local_path}
|
|
echo ""
|
|
|
|
echo "开始同步最新版本的Octopus Agent !"
|
|
local octopus_agent_config_file_list=""
|
|
# shellcheck disable=SC2034
|
|
octopus_agent_config_file_list=$(cat ${octopus_agent_html} | grep -v h1 | grep "a href=" | awk '{print$2}' | cut -d">" -f2 | cut -d"<" -f1 | tr "\n" " ")
|
|
local octopus_agent_config_list
|
|
IFS=" " read -ra octopus_agent_config_list <<<"$octopus_agent_config_file_list"
|
|
echo ""
|
|
local octopus_agent_file
|
|
for octopus_agent_file in "${octopus_agent_config_list[@]}"
|
|
do
|
|
echo "[sync_octopus_agent] => start to download => ${octopus_agent_url}/${octopus_agent_file}"
|
|
wget "${octopus_agent_url}/${octopus_agent_file}" -qO "${default_octopus_agent_local_path}${octopus_agent_file}"
|
|
echo ""
|
|
|
|
if [[ ! -s "${default_octopus_agent_local_path}${octopus_agent_file}" ]]; then
|
|
echo ""
|
|
echo "[sync_octopus_agent] - ERROR download file ${octopus_agent_url}/${octopus_agent_file} !"
|
|
echo ""
|
|
return 233
|
|
fi
|
|
|
|
done
|
|
|
|
echo "[sync_octopus_agent] - check for octopus agent download .."
|
|
echo ""
|
|
ls ${default_octopus_agent_local_path}
|
|
echo ""
|
|
echo ""
|
|
|
|
}
|
|
|
|
sync_octopus_agent_config(){
|
|
|
|
local octopus_agent_config_html="octopus_agent_config.html"
|
|
|
|
rm -rf ${octopus_agent_config_html}
|
|
wget "$agent_config_url/" -qO ${octopus_agent_config_html}
|
|
|
|
if [[ ! -s $octopus_agent_config_html ]]; then
|
|
echo "[sync_octopus_agent_config] - download agent config file error ! return false !"
|
|
return 233
|
|
fi
|
|
|
|
echo "清除旧的Agnet Config内容"
|
|
rm -rf $default_octopus_agent_config_local_path
|
|
mkdir -p ${default_octopus_agent_config_local_path}
|
|
echo ""
|
|
echo "开始同步最新版本的Octopus Agent Config !"
|
|
|
|
local octopus_agent_config_file_list=""
|
|
# shellcheck disable=SC2034
|
|
octopus_agent_config_file_list=$(cat ${octopus_agent_config_html} | grep -v h1 | grep "a href=" | awk '{print$2}' | cut -d">" -f2 | cut -d"<" -f1 | tr "\n" " ")
|
|
local octopus_agent_config_list
|
|
IFS=" " read -ra octopus_agent_config_list <<<"$octopus_agent_config_file_list"
|
|
echo ""
|
|
local octopus_agent_config_file
|
|
for octopus_agent_config_file in "${octopus_agent_config_list[@]}"
|
|
do
|
|
echo "[sync_octopus_agent_config] => start to download => ${agent_config_url}/${octopus_agent_config_file}"
|
|
wget "${agent_config_url}/${octopus_agent_config_file}" -qO "${default_octopus_agent_config_local_path}${octopus_agent_config_file}"
|
|
echo ""
|
|
|
|
if [[ ! -s "${default_octopus_agent_config_local_path}${octopus_agent_config_file}" ]]; then
|
|
echo ""
|
|
echo "[sync_octopus_agent_config] - ERROR download file ${agent_config_url}/${octopus_agent_config_file} !"
|
|
echo ""
|
|
return 233
|
|
fi
|
|
|
|
done
|
|
|
|
echo "[sync_octopus_agent_config] - check for octopus agent config download .."
|
|
echo ""
|
|
ls ${default_octopus_agent_config_local_path}
|
|
echo ""
|
|
echo ""
|
|
|
|
}
|
|
|
|
main(){
|
|
|
|
sync_octopus_agent
|
|
|
|
sync_octopus_agent_config
|
|
|
|
}
|
|
|
|
main
|