首先需要保证的是我们所创建的Python项目通过Dockerfile文件构建成docker镜像以后,创建并启动容器时项目可以正常跑起来,假设当前这些前置步骤已经完成。由于需要使用.gitlab-ci.yml文件在KubeSphere上实现自动部署,因此对于一个Pyhton项目可能会存在多个不同环境(开发、测试、生产)下的配置文件:

.env_local
.env_dev
.env_prod

该配置文件如何才能被我们的项目所使用以及与其相关的.env系统默认的配置文件的优先级问题在在其它文档中已做阐述。现在是如果我们的项目被部署到KubeSphere中,需要根据不同的环境来使用不同的配置文件(.env_xxx),这个时候可以利用KubeSphere中的ConfigMap来解决这个问题:

https://v3-0.docs.kubesphere.io/zh/docs/project-user-guide/configuration/configmaps/

在创建了一个 ConfigMap以后,仅仅需要在启动容器镜像时来引用一下该配置即可:

首次在KubeSphere部署服务时需要先根据.gitlab-ci.yml配置文件的前半部分(build)先将打包好的镜像上传到私有的镜像仓库,然后根据私有仓库的镜像进行相关的配置

Python中fastapi构建的web项目使用.gitlab-ci.yml文件在KubeSphere中进行自动部署相关推荐

  1. Python中fastapi构建的web项目使用pyinstaller打包为exe文件

    假设当前已经使用fastapi构建了一个web项目,项目结构为: 如果我们想使用pyinstaller对此web项目进行打包为exe文件,则需要在项目的跟目录下面执行下述命令先安装pyinstalle ...

  2. Python中fastapi构建的web项目进行docker部署

    假设使用fastpi已经创建好了一个web项目 第一步:在项目的根目录路径下面创建一个名为dockerfile的文件 第二步:传统的方法是在dockerfile文件中编辑下述内容 FROM pytho ...

  3. Python中fastapi构建的web项目配置环境变量

    第一步:先使用下述命令安装python-dotenv包 poetry add python-dotenv 该包安装成功以后在pyproject.toml文件的依赖描述模块会新增python-doten ...

  4. 在k8s中使用gradle构建java web项目镜像Dockerfile

    在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...

  5. python商城开发_使用FastAPI 构建的商城项目API

    使用FastAPI 构建的商城项目API 学习FastAPI 构建项目目录 构建项目接口 环境 项目文件结构 文件结构是仿照Flask项目目录构建的,官方推荐的模版对我而言太大. . |_FastDe ...

  6. Maven学习总结(七)——eclipse中使用Maven创建Web项目

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(七)--eclipse中使用Maven创建Web项目 一.创建Web项目 1.1 选择建立Maven Pr ...

  7. Maven-EclipseEE使用Maven构建Java web项目从0到1

    Maven是什么 安装Maven 解压apache-maven-350-binzip 新建变量M2_HOME配置Maven主目录 在 Path 变量中添加 Maven的bin目录 命令窗口mvn -v ...

  8. myeclipse java maven web 项目结构,Myeclipse 10 Maven 构建 Java Web 项目

    下载 Maven http://maven.apache.org/download.cgi,解压到任意非C盘位置,比如:D:\Java\apache-maven-3.1.0 打开 Myeclipse ...

  9. (转)Maven学习总结(七)——eclipse中使用Maven创建Web项目

    孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(七)--eclipse中使用Maven创建Web项目 一.创建Web项目 1.1 选择建立Maven Project 选择File -& ...

最新文章

  1. MySQLFabric概述
  2. VS中每次改代码后运行程序不更新,只有重新编译才生效。
  3. Effective_STL 学习笔记(十九) 了解相等和等价的区别
  4. mysql 横向排列,mysql横向转纵向、纵向转横向排列的方法
  5. linux内核2.6.35编译过程
  6. 51单片机实现c语言字母滚动,基于51单片机的led点阵滚动显示上下左右c语言程序.docx...
  7. C++库研究笔记——Linux下是否需要使用memory pool?
  8. cocos2dx进阶学习之场景切换
  9. 《统计学习方法》——支持向量机
  10. 应用宝apk_我花3天对比了8个手机应用商店 发现了这个你从未留意过的细节
  11. linux下c语言读写文件操作,Linux下C语言之文件操作
  12. 目标检测之RFB Net
  13. windows系统IIS服务安装
  14. 《闻官军收河南河北》 杜甫
  15. c35是什么意思_混凝土标号怎么来的?C30_C25_C35_都是什么意思
  16. 解决跨域设置Cookie问题
  17. 目标检测的Tricks | 【Trick5】学习率调优方法——warmup
  18. 【光通信】常见光模块与光纤收发器说明及作用区别
  19. Logic Pro X自带音色库列表
  20. 通过Python分析2020年全年微博热搜数据

热门文章

  1. android studio - 解决Android Studio不停的Indexing的问题
  2. mysql插入报主键冲突,解决方法主键索引重新排序
  3. MVC中如何实现本地化的解决方案
  4. sql脚本过大,无法打开的解决方法
  5. 【方案分享】2022数据湖建设方案:“七步走”解决企业面临的数字化转型痛点.pdf(附下载链接)...
  6. 全球首发!计算机视觉Polygon Mesh Processing总结8——Remeshing Global Structure和Correspondences
  7. 横空出世,席卷互联网--评微软等公司数据结构和算法面试100题 .
  8. 谁与争锋,2020腾讯广告算法大赛初赛正式启动
  9. CCF认证-2015-3-2 数字排序
  10. 吴恩达机器学习ex5:正则化线性回归和方差与偏差