当前位置: 首页 > news >正文

基于阿里云系列平台的python微服务设计与DevOps实践

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 1. 项目构建
  • 2. 新建代码仓库
  • 3. 建立流水线
    • 3.1 流水线源
    • 3.2 镜像构建
    • 3.3 服务部署
  • 总结


前言

1. 项目构建

在这里插入图片描述

#基于Python最新基础镜像
FROM crpi-ru2a6rcf4x9ry77a.cn-hangzhou.personal.cr.aliyuncs.com/ck_acr_test/ck_acr_test_images_house:my_python_-slim-bookworm
LABEL maintainer="<ck@uestc.edu.cn>"
# 工作目录
WORKDIR /app
# 安装PythonCOPY requirements.txt requirements.txt
RUN  pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/#复制当前文件夹中全部文件到镜像中
COPY  .  .#容器启动时执行命令
CMD ["python3","server.py"]
sanic
requests
#引入Sanic库中必要的子模块
from sanic import Sanic,response
#创建Sanic应用
app = Sanic("Sample_HTTP_Api")
#将异常反馈以JSON的形式输出
app.config.FALLBACK_ERROR_FORMAT="json"
#默认情况下,Sanic会忽略GET请求的消息体,将ignore_body参数设置为False可以让Sanic接收Get请求的消息体
@app.get("/v1/devices",ignore_body=False)
async def get_devices(request):
#request参数包含路由到该处理函数的请求的所有信息,包括uRL、header、body
#Sanic提供了多种便捷的HTTP响应的封装格式,这里使用JSON作为响应return response.json({"status":0,"message":"get_devices接口尚未完成"})
#定义添加设备的接口
@app.post("/v1/devices")
async def add_devices(request):return response.json({"status":0,"message":"add_devices接口尚未完成"})#定义添加修改的接口
@app.put("/v1/devices")
async def update_devices(request):return response.json({"status":0,"message":"update_devices接口尚未完成"})#定义删除设备的接口
@app.delete("/v1/devices")
async def delete_devices(request):return response.json({"status":0,"message":"delete_devices接口尚未完成"})if __name__ == "__main__":#启动Sanic应用,为了避免多进程的额外问题,这里使用单进程模式app.run(host="0.0.0.0",port=8000,single_process=True)
curl 127.0.0.1:8000/v1/device

在这里插入图片描述

2. 新建代码仓库

在这里插入图片描述

在ECS上

git clone git@codeup.aliyun.com:6835bbe8c3d70bfc7878f751/exp_pyms_basic.git

在这里插入图片描述
然后把代码文件传到上面去

在这里插入图片描述

3. 建立流水线

我们复制以前的流水线 2025-09-21_docker_2,然后进行修改

3.1 流水线源

在这里插入图片描述

只需要更改代码仓库就可以了

3.2 镜像构建

不用修改

3.3 服务部署

只需要更改部署脚本

docker login --username=xxxxx xxxxx.com -pxxxxx
docker rm -f exp_pyms_basic
#确保历史容器实例
docker pull ${CONTAINER_TAG}
docker run -d --restart=always --name exp_pyms_basic -p 8000:8000 ${CONTAINER_TAG}

然后就可以运行了

在这里插入图片描述
然后开始运行流水线

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

总结

http://www.dtcms.com/a/406143.html

相关文章:

  • 山东临沂网站开发免费的推广网站
  • PAT乙级_1047 编程团体赛_Python_AC解法_无疑难点
  • SystemVerilog小白入门1, iverilog+VScode
  • 微算法科技(NASDAQ: MLGO)融合二次矩阵变换模型,研发基于区块链的可溯源IP版权保护算法
  • 示范校建设验收网站做ppt图片用的网站
  • 新宁县建设局网站沭阳网站建设多少钱
  • 脑电模型实战系列:深化网络-多层全连接在情绪识别中的威力
  • Java HTTP协议(二)--- HTTPS,Tomcat
  • 深度学习学习路线图:从MNIST到MobileNetV4,从理论到实践的完整指南——轻量化模型演进与前沿实践
  • Linux925 shell 变量:本地、环境变量、全局变量;数组:普通数组、关联数组;交互定义、basename、dirname
  • 低价网站备案海报设计制作平台
  • 解读2025 《可信数据空间 技术能力评价规范》
  • 【51单片机篮球记分器+复合按键操作】2022-12-22
  • 网站域名属于哪里管网站 类库
  • 【超分辨率专题】DLoRAL:视频超分辨率的新范式,细节与时序一致的双重提升
  • VS2022 C++调试完全指南
  • 【JAVA】从入门到放弃-01-HelloWorld
  • 玳瑁的嵌入式日记---0925(ARM--时钟)
  • 《代码的“言外之意”:从词源学透彻理解编程》字符的“双重生活”:从Escape到Raw
  • 【Spark+Hive+hadoop】人类健康生活方式数据分析
  • K8S部署的rook-ceph下线osd流程
  • 建站历史查询如何做网站推广页面
  • maven使用非明文密码配置
  • 做网站后期维护工资贴吧wordpress ad widget
  • Reactor 模式:高并发网络编程的事件驱动利器
  • 无人机数传模块技术要点概述
  • Telegram机器人Token和ChatID获取教程
  • Deepoc具身智能模型:为传统电厂巡检机器人注入“灵魂”与“智慧”
  • 中医智慧+AI科技,七彩喜机器人让健康养护“智”在必得
  • Ubuntu 中 Bash / Zsh / Ash / Dash 的使用与区别(含对比图)