Python中fastapi构建的web项目使用.gitlab-ci.yml文件在KubeSphere中进行自动部署
首先需要保证的是我们所创建的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中进行自动部署相关推荐
- Python中fastapi构建的web项目使用pyinstaller打包为exe文件
假设当前已经使用fastapi构建了一个web项目,项目结构为: 如果我们想使用pyinstaller对此web项目进行打包为exe文件,则需要在项目的跟目录下面执行下述命令先安装pyinstalle ...
- Python中fastapi构建的web项目进行docker部署
假设使用fastpi已经创建好了一个web项目 第一步:在项目的根目录路径下面创建一个名为dockerfile的文件 第二步:传统的方法是在dockerfile文件中编辑下述内容 FROM pytho ...
- Python中fastapi构建的web项目配置环境变量
第一步:先使用下述命令安装python-dotenv包 poetry add python-dotenv 该包安装成功以后在pyproject.toml文件的依赖描述模块会新增python-doten ...
- 在k8s中使用gradle构建java web项目镜像Dockerfile
在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...
- python商城开发_使用FastAPI 构建的商城项目API
使用FastAPI 构建的商城项目API 学习FastAPI 构建项目目录 构建项目接口 环境 项目文件结构 文件结构是仿照Flask项目目录构建的,官方推荐的模版对我而言太大. . |_FastDe ...
- Maven学习总结(七)——eclipse中使用Maven创建Web项目
2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(七)--eclipse中使用Maven创建Web项目 一.创建Web项目 1.1 选择建立Maven Pr ...
- Maven-EclipseEE使用Maven构建Java web项目从0到1
Maven是什么 安装Maven 解压apache-maven-350-binzip 新建变量M2_HOME配置Maven主目录 在 Path 变量中添加 Maven的bin目录 命令窗口mvn -v ...
- 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 ...
- (转)Maven学习总结(七)——eclipse中使用Maven创建Web项目
孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(七)--eclipse中使用Maven创建Web项目 一.创建Web项目 1.1 选择建立Maven Project 选择File -& ...
最新文章
- MySQLFabric概述
- VS中每次改代码后运行程序不更新,只有重新编译才生效。
- Effective_STL 学习笔记(十九) 了解相等和等价的区别
- mysql 横向排列,mysql横向转纵向、纵向转横向排列的方法
- linux内核2.6.35编译过程
- 51单片机实现c语言字母滚动,基于51单片机的led点阵滚动显示上下左右c语言程序.docx...
- C++库研究笔记——Linux下是否需要使用memory pool?
- cocos2dx进阶学习之场景切换
- 《统计学习方法》——支持向量机
- 应用宝apk_我花3天对比了8个手机应用商店 发现了这个你从未留意过的细节
- linux下c语言读写文件操作,Linux下C语言之文件操作
- 目标检测之RFB Net
- windows系统IIS服务安装
- 《闻官军收河南河北》 杜甫
- c35是什么意思_混凝土标号怎么来的?C30_C25_C35_都是什么意思
- 解决跨域设置Cookie问题
- 目标检测的Tricks | 【Trick5】学习率调优方法——warmup
- 【光通信】常见光模块与光纤收发器说明及作用区别
- Logic Pro X自带音色库列表
- 通过Python分析2020年全年微博热搜数据
热门文章
- android studio - 解决Android Studio不停的Indexing的问题
- mysql插入报主键冲突,解决方法主键索引重新排序
- MVC中如何实现本地化的解决方案
- sql脚本过大,无法打开的解决方法
- 【方案分享】2022数据湖建设方案:“七步走”解决企业面临的数字化转型痛点.pdf(附下载链接)...
- 全球首发!计算机视觉Polygon Mesh Processing总结8——Remeshing Global Structure和Correspondences
- 横空出世,席卷互联网--评微软等公司数据结构和算法面试100题 .
- 谁与争锋,2020腾讯广告算法大赛初赛正式启动
- CCF认证-2015-3-2 数字排序
- 吴恩达机器学习ex5:正则化线性回归和方差与偏差