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

网站建设 数据库连接网站建设公司软件开

网站建设 数据库连接,网站建设公司软件开,龙岗区建设工程交易中心,郑州做网站推广哪家好文章目录 工具介绍项目代码仓库CentOS7 环境准备及构建测试创建 jenkins 项目,配置构建jenkins执行自动构建流程持续开发,提交入库 工具介绍 python3.12 fastapi 0.92.0 uvicorn 开发部署web项目;git gitee 实现代码版本管理;…

文章目录

  • 工具介绍
  • 项目代码仓库
  • CentOS7 环境准备及构建测试
  • 创建 jenkins 项目,配置构建
  • jenkins执行自动构建流程
  • 持续开发,提交入库

工具介绍

  • python3.12 + fastapi 0.92.0 + uvicorn 开发部署web项目;
  • git + gitee 实现代码版本管理;
  • jenkins + docker 实现持续集成、持续部署;
  • centos7 作为jenkins服务器 & 部署服务器;有条件的可以再启动一台服务器作为部署测试的服务器;

 

项目代码仓库

仓库地址
这里已准备部分web项目代码;后续可以持续开发、持续集成、持续部署;
在这里插入图片描述

编写Dockfile脚本:

# 指定基础镜像
FROM python# 拷贝项目数据   到容器中.../home/ 
RUN mkdir /home/web_app
COPY src/* /home/web_app
COPY tests/* /home/web_app
COPY requirements.txt /home/web_app
COPY setup.py /home/web_app# *****装python依赖*****
# 切换工作目录
WORKDIR /home/web_app
RUN python3 -m pip install -r requirements.txt# 端口映射  同 -p 8083:8083
EXPOSE 8083
# 目录映射  同 -v /home/web_app:/home/web_app
VOLUME /home/web_app# 执行前台命令,防止端口被占用
CMD ["python3", "app.py"]

 

CentOS7 环境准备及构建测试

iso镜像安装
问题解决及软件安装
 

# 安装git 
sudo yum install -y git
# 配置ssh公钥
ssh-keygen -t rsa  # 回车
# 在~/.ssh/id_rsa.pub 复制公钥,并配置在gitee个人仓库# 拉取代码仓库开发分支
git clone -b develop git@gitee.com:laufing/web_app.git# 进入仓库目录
cd web_app
# 执行构建,生成docker image
docker build -t "web_app_image" .
# -t 执行构建镜像的名称
# . 在当前目录下找Dockerfile 脚本  # 构建完成后查看
docker images
# 启动容器
docker run -d -p 8083:8083 -v /root/web_app:/home/web_app --name=web_app web_app_image# 查看容器是否启动
[root@centos web_app]# docker ps
CONTAINER ID   IMAGE           COMMAND            CREATED         STATUS         PORTS                                       NAMES
d975824bfca6   web_app_image   "python3 app.py"   4 minutes ago   Up 4 minutes   0.0.0.0:8083->8083/tcp, :::8083->8083/tcp   web_app

局域网内通过http地址访问:
在这里插入图片描述
linux下的8083端口被占用时,容器会启动失败!!!

# 查看端口
lsof -i:8083  # 或者netstat -ano | grep -iE "8083"
# 杀掉
kill -s SIGTERM pid1 pid2 ...

 

创建 jenkins 项目,配置构建

  • centos中启动jenkins
# 使用java 虚拟机启动 
java -jar jenkins.war --httpPort=8081 --httpListenAddress=0.0.0.0
  • windows下浏览器中访问http://ip:8081
    在这里插入图片描述

  • 创建项目:New Item
    在这里插入图片描述

  • 配置项目

    • 添加项目描述;
      在这里插入图片描述

    • 添加仓库地址、分支;
      在这里插入图片描述

    • 选择触发的方式 poll SCM;
      在这里插入图片描述
      在这里插入图片描述

    • 添加构建的step,注意docker服务必须开启,且可以正常拉取镜像;基于Dockerfile构建镜像,然后基于镜像启动容器;若容器名称已存在,则删除后再启动容器,避免因重名而启动失败;
      在这里插入图片描述
      在这里插入图片描述

  • 手动构建
    在这里插入图片描述

  • 构建结果成功;
    在这里插入图片描述
     
    也可以测试下提交代码后,触发自动构建!

 

jenkins执行自动构建流程

  • 工作目录 .jenkins/workspace/项目item ;
  • 拉取仓库(根目录)下的内容,放入项目item中,如图:
    在这里插入图片描述
  • 执行构建脚本,构建镜像、启动容器;
  • 执行构建后的动作,如发送邮件等;

 

持续开发,提交入库

在当前项目代码中加入一个接口,并提交入库,触发自动构建,并浏览器中测试新接口。
请求方法: get
请求路由:/user/info
请求响应:{“code”: 200, “msg”: {“name”: “jack”, “age”: 23}}

@app.get("/user/info")
def user_info():return {"code": 200, "msg": {"name": "jack", "age": 23}}

构建完成后, 浏览器测试:
在这里插入图片描述

后续持续开发即可,持续的集成、持续的构建、持续的测试交给jenkins来做;

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

相关文章:

  • 深入理解栈与队列:核心特性与实战应用
  • 如何建一个免费的网站南昌做网站优化哪家好
  • 机器学习概念,算法原理及应用
  • Pytorch常用层总结
  • 【Deepseek OCR】重磅测试,mac环境下的体验【本人已经本地实验成功】
  • 轻量化(Lightweight)概念
  • [人工智能-大模型-58]:模型层技术 - 深度神经网络的本质是一个复杂的复合数学函数
  • 【小白笔记】将十进制数(Decimal)转换为二进制数(Binary),并计算二进制表示中“1”的个数
  • 长春怎么注册网站平台wordpress 视频列表
  • 【ReAcTable】面向表格问答任务的ReAct增强框架
  • Docker 部署 Elasticsearch 全流程手册
  • React 集成Redux数据状态管理 数据共享 全局共享
  • Docker与Nginx:现代Web部署的完美二重奏
  • 【JUnit实战3_08】第四章:从 JUnit 4 迁移到 JUnit 5
  • React 03
  • 前端基础之《React(2)—webpack简介-使用Babel》
  • 广州网站建设公司嘉御建设手机银行网站
  • 【Linux系统编程】软件包管理器
  • 怎么快速定位bug?如何编写测试用例?
  • NetIP,一款开源的快速网络信息查看工具
  • 有限元方法核心原理与学习路径:从一维基础到多维拓展(七步流程)
  • TCP(滑动窗口/拥塞窗口补充)
  • nginx前端部署与Vite环境变量配置指南
  • webrtc getStats 内部调用流程分析
  • 通过 Stdio(标准输入/输出)传输机制,实现 CrewAI 与本地 MCP 服务器的连接
  • 英文版网站建设方案手机app免费制作
  • 通过API网关部署FC函数
  • 单例模式精写
  • SQL sever数据库--第三次作业
  • XLM-R模型:大规模跨语言表示的突破与实践