构建服务器端应用程序——第6部分:部署应用程序
在前面的教程中,您更新了web应用程序以访问ZAF api。在本教程中,您将在服务器上部署web应用程序,并在Zendesk Support中安装基本框架应用程序。亚博
本教程涵盖以下任务:
本教程是构建服务器端Zendesk应用程序系列的第6部分:亚博
- 第1部分:核心概念
- 第2部分:在Zendesk应用程序中显示服务器端内容亚博
- 第3部分:访问外部api
- 第4部分:访问框架api
- 第5部分:保护应用程序
- 第6部分:部署应用程序-你在这里
部署web应用程序
如果你没有访问网络服务器的权限,你可以使用应用程序平台,比如Glitch或Heroku。根据不同的服务,你可以免费部署你的应用。本教程的web应用程序不需要大量的服务器资源,因为它只被代理或管理员偶尔使用,而不是普通公众。亚博电脑端
在本教程中,您将使用故障.Glitch提供了一个免费的计划。
为部署准备web应用程序
部署时,以下配置文件需要包含在web应用程序的根目录中:
- 让
- start.sh
在app_remote文件夹,创建一个让文件。将以下内容粘贴到文件中:
瓶= = 0.12.23
密码= = 38.0.1
PyJWT = =测试盒框
python-dotenv = = 0.21.0
请求= = 2.28.1
该文件列出了应用程序运行所需的所有外部库。如果需要,更新每个库的版本号。要查找版本,请运行
Pip3 show {package_name}
命令。例子:Pip3展示瓶
在app_remote文件夹,创建一个start.sh文件。将以下内容粘贴到文件中:
python3 app.py
该文件包含Glitch用来启动web应用程序的shell命令。
你的结构app_remote文件夹现在看起来是这样的:
\ app_remote
应用程序.py
需求.三种
开始.上海
\静态
...
\视图
...
在app.py,替换最后一行(
运行(主机=“localhost”,端口= 8080)
)与以下条件块:...
如果操作系统.环境.得到(“环境”)= =“生产”:
运行(宿主=“0.0.0.0”,港口=int(操作系统.环境.得到(“端口”,5000)))
其他的:
运行(宿主=“localhost”,港口=8080)
该块有两个可能的运行语句:一个用于Glitch生产环境,另一个用于本地环境。在运行时,应用程序检查'ENVIRONMENT'变量来决定运行哪个变量。
保存让,start.sh,app.py
创建Glitch项目
在Glitch上创建一个空项目。
登录到Glitch,然后转到https://glitch.com/edit/ !/ simple-blank-project.
点击混音创建您自己的Glitch项目副本。
作为可选步骤,更改应用程序的名称和描述。点击设置>编辑项目详细信息.编辑完名称和描述后,单击保存.
上传网页应用到Glitch
将远程web应用程序作为ZIP文件上传到Glitch项目。
提示:如果你熟悉git和GitHub,你可以从GitHub回购导入web应用程序。看到从GitHub导入代码在Glitch文档中。
如果运行,按下停止Bottle服务器Ctrl + C.
的内容进行压缩app_remote文件夹,包括.env文件,到一个ZIP文件名为app_remote.zip.
重要的是:不要包括app_remote文件夹本身的ZIP文件。您可以选择排除操作系统添加的任何配置文件和文件夹,例如.DS_Store或__MACOSX.这些文件是不需要的,但它们不会干扰你的Glitch应用程序。
例子:
cd tutorial_apps / app_remote
Zip -r app_remote.zip。- x”。DS_Store" -x "__MACOSX"
在Glitch项目中,单击资产.
拖app_remote.zip成资产.
上传后,单击ZIP文件并复制其URL。
您将在本教程的后面使用该URL。
在故障页面的底部,单击终端.
在Glitch终端运行:
wget {zip_url}
取代
{zip_url}
使用你在第5步复制的URL。命令返回如下信息:
保存到:'app_remote.zip?v = 123456
复制引用的文件名,包括
v ?
参数。您将在下一步中使用它。在同一个Glitch终端,运行:
解压缩{file_name}
取代
{file_name}
使用您在第7步中复制的文件名。在Glitch终端运行:
刷新
web应用程序的文件现在出现在Glitch项目的下面文件.
在Glitch终端运行:
Pip3安装-r requirements.txt
该命令在应用程序中安装Python包让文件。
作为可选步骤,从步骤4中删除ZIP文件和相关资产。他们不再需要,但他们不会干扰你的Glitch应用程序。
要获取web应用程序的URL,请单击分享复制生活网站链接。例子:
https://亚博zendesk-server-side-app-tutorial.glitch.me
附加
/侧边栏
到URL。例子:https://亚博zendesk-server-side-app-tutorial.glitch.me/sidebar
保存此URL。您将在本教程的后面使用它。
Glitch预览和Glitch侧栏URL返回一个405错误。这是意料之中的。您只能从已安装的Zendesk应用程序查看web应用程序。亚博
更新Zendesk应用亚博
更新已安装的Zendesk应用程序以显示g亚博litch托管的web应用程序。
在app_local文件夹,打开manifest.json文件中输入故障侧栏URL
url
财产。例子:“位置”:{
“支持”:{
“ticket_sidebar”:{
“url”:“https://亚博zendesk-server-side-app-tutorial.glitch.me/sidebar”,
“灵活”的:真正的
}
}
},
...
保存manifest.json.
在shell中,导航到app_local文件夹中。在文件夹中运行:
zcli应用:更新
该命令更新并部署您之前安装的Zendesk应用程序。亚博
部署Zendesk应亚博用程序后,在浏览器中重新加载Agent Workspace页面。应用程序应该显示开始页面。
恭喜你!您将web应用程序部署在服务器上,并在Zendesk Support中安装基本框架应用程序。亚博如果你愿意,你可以继续调整和增强应用程序。例如,您可以添加一个页面,让代理向Asana项目添加技术备注想法。
如果您构建的服务器端应用程序对其他支持组织可能有用,请考虑将其公开提供给Zendesk市场。亚博看到在Zendesk市场发布应用亚博.