python-flask项目开发到部署完整实战总结

  1. python-flask项目开发完整过程:https://blog.csdn.net/qq_38444844/article/details/151928286?spm=1001.2014.3001.5502
  2. 项目源码:https://gitee.com/loveTianWen/Forum-platform/tree/master

目的:使用阿里云云效DevOps平台 + 容器镜像服务ACR,代替Docker Hub获取镜像
demo:
应用镜像:redis:8.4.0
基础镜像:python:3.10-slim-bookworm

阿里云云效flow平台:

https://www.aliyun.com/product/yunxiao

1、进入云效flow平台 (相当于 jenkins)

在这里插入图片描述

2、创建代码库

a、先点击 【代码管理】

在这里插入图片描述

b、新建代码库:flask-forum

在这里插入图片描述

flask_forum
在这里插入图片描述

c、编写Dockerfile文件:

  • 创建文件夹builds,文件名Dockerfile,并写入要构建的镜像:基于from构建的redis镜像版本 — 提交

在这里插入图片描述

3、创建CI/CD流水线 and 自动化构建配置

a、创建python模板

  • 新建流水线 - 选择python - 可视化编排 - 【Python · 测试、构建镜像】 - 创建 (也可选yaml化编排)

在这里插入图片描述

b、构建自动化配置

  • 自动弹出:镜像构建并推送至ACR个人版 配置项

在这里插入图片描述

  • 选【香港构建集群】

在这里插入图片描述

b1、添加个人acr配置:

个人acr仓库配置教程,在下方 【容器镜像服务ACR】中

地址:选距离自己最近的城市
仓库:选自己刚刚创建的个人仓库地址,由 访问凭证 + 命令空间 + 仓库名称 构成,如下所示:
crpi-ua3er91ww0y2dq1i.cn-shenzhen.personal.cr.aliyuncs.com/alimyuan/python

tag标签:写自己要拉取的镜像名redis:8.4.0

在这里插入图片描述

  • 访问凭证

在这里插入图片描述

  • 命令空间 + 仓库名称

在这里插入图片描述

  • acr配置完成后,配置流水线最前端的 【添加流水线源】 — 配置后 【添加】

在这里插入图片描述

b2、容器镜像服务ACR

  • 镜像构建并推送至ACR个人版是指 【容器镜像服务ACR个人版实例】

在这里插入图片描述

  • 进入个人实例,第一次使用需要创建【命名空间】,用来存放,管理【镜像仓库】

在这里插入图片描述

  • 创建【命名空间】

在这里插入图片描述

  • 创建【镜像仓库】

在这里插入图片描述

  • 选阿里云自带的codeup,也可选其他代码托管平台

在这里插入图片描述

  • 输入托管平台账号,令牌

在这里插入图片描述

  • 个人令牌:可按照文档提示创建

在这里插入图片描述

  • 选择 代码管理 中自己创建的 flask-forum 项目

在这里插入图片描述

  • 生成镜像库
    在这里插入图片描述

4、执行流水线

在这里插入图片描述

  • 执行刚新建的流水线完成后,查看执行日志:

推送redis镜像到个人仓库:crpi-ua3er91ww0y2dq1i.cn-shenzhen.personal.cr.aliyuncs.com/alimyuan/python:redis8.4.0@sha256:d1a8bb321d9d2c683eda1691fc55c9def4aaac7cb0c533108b004b800abafe62

在这里插入图片描述

5、获取redis:8.4.0镜像

  • 最后查看镜像仓库是否存在redis镜像:

在这里插入图片描述

6、获取python:3.10-slim-bookworm镜像

  • Python 3.10 精简版Docker 镜像:FROM docker.m.daocloud.io/library/python:3.10-slim-bookworm

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐