Gitlab: Python项目CI/CD实践

9 篇文章 0 订阅
3 篇文章 1 订阅

目录

1. 说明

2. 准备工作

2.1 服务器

2.2 Gitlab Runner工作站

2.3 开发机hosts文件 

2.4 项目

3. 步骤过程

3.1 建仓Fastapi T1

3.2 开发机测试构建与推送 ​编辑

3.3 在工作站添加gitlab-runner

3.4 提交代码,查看Pipelines结果

3.5 观察部署情况

4. 参考


1. 说明

  • 分别以一个fastapi应用和一个前后端分离的kinit项目为例,制定测试,构建容器镜像,部署(CI/CD)的实现步骤
  • 代码管理与自动化部署基于Gitlab系统,部署到装有宝塔的目标服务器以容器方式运行
  • 使用流程:
  1. 提交代码到代码仓库
  2. gitlab根据.gitlab-ci.yml脚本规则,拉起对应的gitlab-runner工作站进行测试, 构建, 部署
  3. 发布服务器做反向代理设置以供访问
  4. 前后端应用皆以镜像发布,以容器微服务方式运行

2. 准备工作

2.1 服务器

- 关于Gitlab服务器的私有化部署,见前文《Gitlab: 私有化部署_gitlab私有化部署-CSDN博客

2.2 Gitlab Runner工作站

- 分别部署两个Runner, 一个for前端应用(tag:nodejs), 一个for后端应用(tag: python)

- 工作站需预先安装python10, pip, nodejs18, pnpm8

2.3 开发机hosts文件 
# gitlab服务器
192.168.0.130 host001.dev.ia
192.168.0.130 gitlab.dev.ia

# gitlab-runner工作站与部署服务器
192.168.0.131 host002.dev.ia
192.168.0.131 fastapi-t1.dev.ia
192.168.0.131 kinit-api-t1.dev.ia
192.168.0.131 kinit-admin-t1.dev.ia
2.4 项目
名称fastapi-t1
说明fastapi 框架测试项目
自定义域名 fastapi-t1.dev.ia
仓库路径http://host001.dev.ia:18181/dev1/fastapi-t1.git
镜像路径

host001.dev.ia:5050/dev1/fastapi-t1:latest

目录结构

./fastapi-t1/
├── .gitlab-ci.yml
├── Dockerfile

├── README.md
├── app
│   ├── __init__.py
│   ├── main.py
│   ├── static
│   ├── templates
│   ├── utils
├── pytest.ini
├── requirements.txt
└── tests
    ├── __init__.py
    ├── conftest.py
    └── test_main.py

运行命令行uvicorn app.main:app --reload
Dockerfile见附件
.gitlab-ci.yml文件

见附件

名称kinit 后端api应用
说明为kinit提供api支持
自定义域名 kinit-api-t1.dev.ia
仓库路径http://host001.dev.ia:18181/dev1/kinit-api-t1.git
镜像路径host001.dev.ia:5050/dev1/kinit-api-t1/dev:latest
部署相关文件目录

kinit-api

├── .gitlab-ci.yml

├── Dockerfile

运行命令行python main.py run
Dockerfile见附件
.gitlab-ci.yml文件

见附件

名称kinit 前端应用
说明
  • 基础镜像是nginx:stable-alpine, 用nginx提供访问服务,所以需增设nginx/default.conf做后端代理设置
自定义域名 kinit-admin-t1.dev.ia
仓库路径http://host001.dev.ia:18181/dev1/kinit-admin-t1.git
镜像路径host001.dev.ia:5050/dev1/kinit-admin-t1/dev:latest
部署相关文件目录

kinit-admin

├── .gitlab-ci.yml

├── Dockerfile

├── nginx

    ├──nginx/default.conf

运行命令行

pnpm run dev

Dockerfile见附件
.gitlab-ci.yml文件

见附件

3. 步骤过程

3.1 建仓Fastapi T1

如图:镜像仓库ready

3.2 开发机测试构建与推送 

3.3 在工作站添加gitlab-runner

说明:当代码提交后,遇到含有tag=python的.gitlab-ci.yml时调用该runner执行任务

* gitlab-runner所在的工作站需预先安装pip工具

3.4 提交代码,查看Pipelines结果

3.5 观察部署情况

设置子域名与反向代理后访问:

http://fastapi-t1.dev.ia/docs 

 http://kinit-api-t1.dev.ia/docs

 http://kinit-admin-t1.dev.ia/dashboard/workplace

4. 参考

Gitlab: 私有化部署_gitlab私有化部署

- Gitlab: PHP项目CI/CD实践

Error "Host key verification failed." - GitLab CI/CD - GitLab Forum

前端项目(vue3)自动化部署(Gitlab CI/CD)尚在完善中--->_vue3前端部署-CSDN博客

  • 17
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
GitLab-Runner是GitLab提供的一个开源工具,可以用于在GitLab运行CI/CD任务。通过GitLab-Runner,可以方便地实现自动化的构建、测试、集成和部署等任务。 下面是一些使用GitLab-Runner打造锋利的CI/CD的方法: 1. GitLab-Runner安装和配置:首先需要安装GitLab-Runner,并将其配置到GitLab服务器上。可以通过Docker容器、二进制包或源码编译的方式安装GitLab-Runner,然后在GitLab服务器上注册Runner,并设置Runner的执行环境和权限等参数。 2. 编写CI/CD脚本:在GitLab上创建项目,并在项目中编写CI/CD脚本,定义任务的执行流程和步骤。可以使用GitLab提供的CI/CD工具和插件,也可以使用第三方工具和脚本库。 3. 构建、测试和集成:通过GitLab-Runner执行CI/CD任务,自动化构建、测试和集成代码,并生成测试报告和代码覆盖率报告等文档。可以使用各种编程语言和框架,如Java、Python、Ruby、Node.js等。 4. 部署和发布:通过GitLab-Runner将代码部署到目标服务器上,并执行自动化发布流程。可以使用容器化技术、配置管理工具、自动化部署工具等实现高效、可靠的部署和发布。 5. 监控和反馈:通过GitLab的监控和反馈机制,及时发现和解决CI/CD任务中的问题和错误,并持续优化任务的执行效率和稳定性。可以使用各种监控工具和日志分析工具,如Prometheus、Grafana、ELK等。 总之,使用GitLab-Runner打造锋利的CI/CD,可以提高开发和运维的效率和质量,降低项目的风险和成本,实现持续交付和快速迭代的目标。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bennybi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值