intall_jsite函数改名为execute_jsite_task

This commit is contained in:
jingrow 2025-08-10 14:59:21 +08:00
parent de5d51d203
commit 3bf7b65982

View File

@ -1670,42 +1670,6 @@ def get_password(pagetype, name, fieldname):
return jingrow.get_pg(pagetype, name).get_password(fieldname)
@jingrow.whitelist()
def install_jsite(instance_id, site_name, git_repo, site_url, revalidate_token, jingrow_server_url, jingrow_api_key, jingrow_api_secret, region_id='cn-shanghai'):
"""在实例上安装Jsite前端"""
try:
# 验证实例ID是否存在
server = jingrow.get_pg("Jsite Server", {"instance_id": instance_id})
if not server:
return {"success": False, "message": "找不到对应的服务器记录"}
# 如果未指定region_id从服务器记录中获取
if not region_id:
region_id = server.region
# 构建命令内容
command_content = 'curl -s -o /tmp/install_jsite.sh https://cloud.jingrow.com//files/install_jsite.sh && chmod +x /tmp/install_jsite.sh && /tmp/install_jsite.sh --site-name {{site_name}} --git-repo {{git_repo}} --site-url {{site_url}} --revalidate-token {{revalidate_token}} --server-url {{jingrow_server_url}} --api-key {{jingrow_api_key}} --api-secret {{jingrow_api_secret}}'
# 构建参数
parameters = {
'site_name': site_name,
'git_repo': git_repo,
'site_url': site_url,
'revalidate_token': revalidate_token,
'jingrow_server_url': jingrow_server_url,
'jingrow_api_key': jingrow_api_key,
'jingrow_api_secret': jingrow_api_secret
}
manager = _get_manager()
result = manager.run_command(instance_id, command_content, parameters, 'installJsite', region_id, 3600)
return result
except Exception as e:
jingrow.log_error("安装Jsite失败", f"在实例 {instance_id} 上安装Jsite时发生错误: {str(e)}")
return {"success": False, "error": str(e), "message": "安装Jsite失败"}
@jingrow.whitelist()
def get_jsite_server(instance_id=None, name=None):
"""获取Jsite Server记录"""
@ -1919,4 +1883,40 @@ def get_jingrow_firewall_rules(**data):
}
except Exception as e:
return {"success": False, "message": f"防火墙规则查询失败: {str(e)}"}
return {"success": False, "message": f"防火墙规则查询失败: {str(e)}"}
@jingrow.whitelist()
def execute_jsite_task(instance_id, site_name, git_repo, site_url, revalidate_token, jingrow_server_url, jingrow_api_key, jingrow_api_secret, region_id='cn-shanghai'):
"""在实例上安装Jsite前端"""
try:
# 验证实例ID是否存在
server = jingrow.get_pg("Jsite Server", {"instance_id": instance_id})
if not server:
return {"success": False, "message": "找不到对应的服务器记录"}
# 如果未指定region_id从服务器记录中获取
if not region_id:
region_id = server.region
# 构建命令内容
command_content = 'curl -s -o /tmp/execute_jsite_task.sh https://cloud.jingrow.com//files/execute_jsite_task.sh && chmod +x /tmp/execute_jsite_task.sh && /tmp/execute_jsite_task.sh --site-name {{site_name}} --git-repo {{git_repo}} --site-url {{site_url}} --revalidate-token {{revalidate_token}} --server-url {{jingrow_server_url}} --api-key {{jingrow_api_key}} --api-secret {{jingrow_api_secret}}'
# 构建参数
parameters = {
'site_name': site_name,
'git_repo': git_repo,
'site_url': site_url,
'revalidate_token': revalidate_token,
'jingrow_server_url': jingrow_server_url,
'jingrow_api_key': jingrow_api_key,
'jingrow_api_secret': jingrow_api_secret
}
manager = _get_manager()
result = manager.run_command(instance_id, command_content, parameters, 'installJsite', region_id, 3600)
return result
except Exception as e:
jingrow.log_error("安装Jsite失败", f"在实例 {instance_id} 上安装Jsite时发生错误: {str(e)}")
return {"success": False, "error": str(e), "message": "安装Jsite失败"}