抖音云插件使用指南-PyCharm版本
收藏
我的收藏介绍
本文将介绍抖音云插件
PyCharm
版本的使用。使用限制
- 1.确保本机安装Docker环境,推荐Windows/Mac/Linux 用户安装
Docker Desktop
软件(下载链接),并打开软件保证Docker服务正常启动。- 2.下载并安装Jetbrains PyCharm软件,版本要求Professional,且版本为
2021.03
以上。- 3.本文档基于插件版本为
1.5.4
,参阅本文档前请将插件更新至1.5.4
版本。插件安装
- 1.打开PyCharm的设置界面。
- ◦Mac OS用户选择 PyCharm -> Preferences。
- ◦Windows用户选择File -> Settings。
- 2.在设置界面中选择 Plugins ,在搜索框中输入 Douyin Cloud ToolKit,点击安装插件。
登录
首次打开抖音云插件时需要先完成登录。点击登录按钮,在弹出框中输入登录抖音云控制台的账号密码,完成登录。
在弹出框中选择登录方式,并完成登录,账号需要先在抖音云控制台完成注册开通。
登录完成后,插件配置界面登录状态会更新为 已登录。
项目配置
项目首次使用抖音云插件时,需要选择配置对应的小程序和服务,点击配置按钮,在弹出框中选择对应的小程序和服务,完成配置。
选择完成后,插件配置界面
App
和Service
会更新为对应的选择。刷新配置
如果在抖音云控制台对小程序和服务进行对应的修改后,需要刷新配置。点击刷新配置按钮刷新配置,插件会校验当前配置的有效性,如果没有效需要重新进行配置。
本地容器启动
通过抖音云插件可以将项目部署在本地 Docker 容器中,并且通过抖音云代理可以访问抖音云 dev 环境的数据库资源(比如 MySQL、 Redis、 Mongo 等),而无需开启数据库资源的公网访问,保证数据安全。
下面将介绍如何通过抖音云插件进行本地开发和调试,本文档中将以抖音云官方
python
语言的Djano demo
为例,项目地址:GitHub - bytedance/douyincloud_python3_django_demo1. 启动抖音云代理
- 1.在
PyCharm
中Run/Debug Configuraitons
中创建抖音云代理配置。- 2.填入对应的名称,点击
Apply
保存,点击OK
完成创建。- 3.选择刚刚创建的抖音云代理配置,点击
Run
按钮启动抖音云代理。启动完成,抖音云代理会在本地启动两个代理容器,用于云上云下流量转发。
- •websocket 代理容器
- •数据库代理容器
打开
Docker Desktop
,可以看到如下两个代理容器已经被正确启动,并且状态为 Running。2.配置并启动后端服务
当抖音云代理配置启动完成后,会在当前项目路径下生成两个服务 docker 相关的配置文件,如下图所示:
- •
dycloud.Dockerfile
- •
dycloud-docker-compose.yml
注意
- •如果代理启动完成后,在Project窗口中未显示生成的两个文件,可以在Project窗口右键 -> ReLoad From Disk点击刷新。
- •如果本地已经存在同名文件,则抖音云代理不会生成该文件。如果想要重新生成该文件,需要手动删除项目下的同名文件。
说明
- •通过生成的dycloud.Dockerfile以及dycloud-docker-compose.yml文件,将后端服务通过docker在本地启动,即可实现本地访问云端数据库的调试,具体可以参考如下流程。
配置文件的内容如下:
dycloud.Dockerfile
:# python构建的基础镜像 FROM public-cn-beijing.cr.volces.com/public/python:3.9.15 WORKDIR /opt/application # 拷贝requirements.txt至当前目录下 COPY requirements.txt /opt/application # 安装依赖 RUN pip install --upgrade pip && pip3 install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple --trusted-host=pypi.mirrors.ustc.edu.cn/simple # 环境变量,从云端dev环境拉取,需要手动填充密码等相关信息 ENV MYSQL_USERNAME=test ENV MYSQL_ADDRESS=dycloud-local-proxy:3306 ENV MONGO_PASSWORD=请自行输入对应密码信息 ENV MONGO_ADDRESS=dycloud-local-proxy:3717 ENV CLOUD_ENV=DEV ENV SERVICE_ID=1j7tusjpcre4c ENV REDIS_PASSWORD=请自行输入对应密码信息 ENV REDIS_ADDRESS=dycloud-local-proxy:6379 ENV MONGO_USERNAME=root ENV REDIS_USERNAME=default ENV MYSQL_PASSWORD=请自行输入对应密码信息 # 拷贝项目所有文件至/opt/application COPY ./ /opt/application CMD ["python", "manage.py", "runserver", "--noreload", "0.0.0.0:8000"]
说明
- •第1行
FROM public-cn-beijing.cr.volces.com/public/python:3.9.15
,服务默认的基础镜像,如果开发者项目对python
版本有要求,可自行按需替换python
版本的镜像。- •第9行 - 第19行对应于开发者所配置的service在抖音云dev环境的环境变量,其中
MYSQL_ADDRESS
、MONGO_ADDRESS
、REDIS_ADDRESS
对应的地址修改为了dycloud-local-proxy
。- ◦这是为了进行流量转发,开发者在项目中需要通过环境变量的方式来获取访问数据库的地址,进而在本地调试时实现访问云端数据库。
- •由于安全原因,需要开发者自行填入访问数据库的对应的密码信息,参见上述示例的第11行、第15行以及第19行。
dycloud-docker-compose.yml
:services: service: build: context: . dockerfile: dycloud.Dockerfile container_name: service extra_hosts: - config-center.dycloud.run:17.100.0.3 - developer.toutiao.com:17.100.0.3 - open.douyin.com:17.100.0.3 - webcast.bytedance.com:17.100.0.3 - ws-push.dycloud-api.service:17.100.0.4 networks: dycloud0: ipv4_address: 17.100.0.2 ports: - mode: ingress target: 8000 published: "8000" protocol: tcp volumes: - type: bind source: /Users/bytedance/Code/github/django_python3_demo target: /opt/application bind: create_host_path: true networks: dycloud0: name: dycloud0 external: true
说明
- •上述配置文件主要涉及本地服务容器启动时的一些配置信息,包括容器网络信息、hosts信息等。
2.1 在PyCharm中完成Python相关配置
打开
PyCharm
设置界面,找到Python Interpreter
设置,点击Add Interpreter
添加一个解释器:可以选择
Docker...
或者Docker Compose...
新建一个Interpreter
。开发者可自行按照下面2.1.1
或者2.1.2
小节的内容,创建一个Interpreter
。2.1.1 选择Docker
说明
- •Dockerfile配置项:选择刚刚生成的
dycloud.Dockerfile
文件。- •Context folder配置项:默认为
.
,可忽略。展开
Optional
选项:- •Image tag配置项:用于标识构建的镜像,可自定义填写,上图填写
service
。- •Run options配置项:填充如下内容:
--entrypoint= --rm -p 8000:8000 --network dycloud0 --ip 17.100.0.2 --add-host config-center.dycloud.run:17.100.0.3 --add-host developer.toutiao.com:17.100.0.3 --add-host open.douyin.com:17.100.0.3 --add-host webcast.bytedance.com:17.100.0.3 --add-host ws-push.dycloud-api.service:17.100.0.4
- •勾选
Rebuild image automatically every time before running code
。点击
Next
执行下一步:等待执行完成,点击
Next
继续下一步:点击
Create
,完成创建。2.1.2 选择Docker Compose
在
Configuration files
选项中,选择刚刚生成的dycloud-docker-compose.yml
文件:点击
Next
,等待执行:继续点击
Next
:点击
Create
完成创建。2.1.3 启动服务
在
PyCharm
Run/Debug Configurations
中创建一个Django Server
:选择刚刚创建的
Interpreter
:完成余下的配置,点击
OK
完成配置创建。点击
Run/Debug
按钮启动服务或者断点调试服务:观察服务日志,当服务正常启动时,可以在
Docker Desktop
中看到服务docker
已经正确启动,并且状态为Running
。本地接口调试
抖音云插件支持本地接口调试,您需要先参照【本地容器启动】通过抖音云插件启动服务;点击接口调试按钮打开接口调试界面:
在接口调试界面中,配置要请求的接口,点击调试按钮完成调试请求。
- •在1处选择要请求的http method,抖音云插件支持get/post。
- •在2处输出要请求的http url,只需要输入请求方法的path,比如
/test
。- •点击4勾选模拟选择用户态登录,需要提前在抖音云控制台绑定抖音账号,如果没有绑定,点击5跳转完成绑定。
- •在6处可以自定义配置请求的Header与请求的Query。
- •在7处可以填写请求的Body参数,只有POST请求才会允许填写。
- •点击3处调试按钮发送请求,将会在8处显示请求的具体结果,样例如下:
注:您也可以在启动服务后通过
Postman
等http
请求调试工具来测试您的接口。一键部署
抖音云插件支持将项目工程一键部署到抖音云端的
dev
环境,在工具栏中点击一键部署按钮,并在弹出框中完成镜像版本和发布备注的填写,点击OK
开始一键部署。填写对应的镜像标签和发布备注,点击
OK
按钮开始部署。点击
OK
后,会在Douyin Cloud Console
中实时显示部署的日志信息,便于查看部署情况。常见问题
抖音云代理启动失败,如何排查?
常见的启动失败的原因如下,开发者可自行根据错误信息自行解决,下面列举一些常见的失败信息:
关键错误信息 | 解决办法 |
初始化docker失败 | 检查本机Docker Desktop软件是否正常启动 |
当前小程序下未启动本地调试功能 | 本地调试功能未打开,请前往抖音云控制台 -> 服务列表页,点击【本地调试】按钮确认功能是否打开。 |
如果仍然无法解决,可以通过提交工单解决。
代理启动后,找不到dycloud-local-proxy
容器
停止抖音云代理,并重新运行抖音云代理配置,观察
dycloud-local-proxy
容器是否正确启动。本地启动后访问数据库报错
按照如下步骤排查:
- 1.首先检查抖音云代理是否正确启动,代理容器是否正确启动且状态为Running;如果不满足,需要重新启动抖音云代理。
- 2.检查项目访问数据库的方式,本地调试模式下访问数据库的地址会通过环境变量的方式修改为抖音云数据库代理容器
dycloud-local-proxy