gitLab的使用
CI/CD
CI/CD 是一个内置在GitLab中的工具,用于通过持续方法进行软件开发:
CI(持续集成):
- 自动化构建:自动执行代码构建、编译和测试,确保代码质量。
- 自动化测试:运行单元测试、集成测试等,及时发现问题。
- 自动化部署:将代码部署到开发、测试环境,加快开发周期。
- 自动化报告:生成构建报告、测试报告,方便查看和分析。
CD(持续部署):
- 自动化部署:自动将通过CI构建的代码部署到生产环境。
- 自动化发布:自动发布新功能、修复bug等到生产环境。
- 自动化监控:监控部署过程和生产环境,及时发现问题。
- 自动化回滚:在出现问题时自动回滚到上一个稳定版本。
Continuous Integration (CI) 持续集成
Continuous Deployment (CD) 持续部署
持续集成
假设一个应用程序,其代码存储在GitLab的Git仓库中。开发人员每天都要多次推送代码更改。对于每次向仓库的推送,你都可以创建一组脚本来自动构建和测试你的应用程序,从而减少了向应用程序引入错误的机会。这种做法称为持续集成
持续交付:
在持续集成的基础上,可以进行手动部署项目
持续部署:
无需手动部署,可以进行自动部署
工作原理
为了使用GitLab CI/CD,你需要一个托管在GitLab上的应用程序代码库,并且在根目录中的.gitlab-ci.yml文件中指定构建、测试和部署的脚本。
一旦你已经添加了.gitlab-ci.yml到仓库中,GitLab将检测到该文件,并使用名为GitLab Runner的工具运行你的脚本。
.gitlab-ci.yml文件说明
- image: 指定使用的Docker镜像,用于构建和运行CI/CD任务。
- variables: 设置环境变量,可以在整个CI/CD过程中使用的变量。
- stages: 定义不同阶段的顺序,每个阶段包含一组相关的任务。
- before_script: 在执行每个任务前运行的命令,通常用于设置环境或准备工作。
- after_script: 在执行每个任务后运行的命令,用于清理工作或收尾操作。
- jobs: 定义具体的任务,包括名称、阶段、脚本等信息。
- script: 指定任务执行的命令或脚本,可以包括构建、测试、部署等操作。
- artifacts: 定义任务产生的产物,可以用于后续任务或下载构建结果。
- cache: 配置缓存,用于加速构建过程,保存依赖项或中间结果。
- only和except: 控制任务执行的条件,可以根据分支、标签、变量等条件选择性执行任务。
- rules: 更灵活的条件控制方式,可以根据表达式定义任务执行的条件。
- services: 指定任务需要的服务,如数据库、缓存等,用于测试或构建环境的搭建。
如果不指定image参数,GitLab Runner将使用默认的Docker镜像作为基础镜像来执行CI/CD任务。
before_script:
- apt-get install rubygems ruby-dev -y
run-test:
script:
- ruby --version 6
before_script属性将在运行任何内容之前为你的应用安装依赖,一个名为run-test的job(作业)将打印当前系统的Ruby版本。二者共同构成了在每次推送到仓库的任何分支时都会被触发的pipeline(管道)。
持续集成的工作原理是将小的代码块推送到Git仓库中托管的应用程序代码库中,并且每次推送时,都要运行一系列脚本来构建、测试和验证代码更改,然后再将其合并到主分支中。
持续交付和部署相当于更进一步的CI,可以在每次推送到仓库默认分支的同时将应用程序部署服务器。
CI/CD 由一个名为 .gitlab-ci.yml 的文件进行配置,改文件位于仓库的根目录下。文件中指定的脚本由GitLab Runner执行。
设置成中文


选择简体中文,之后进行保存,之后进行重新登录就可以看到中文了
使用
1. 设置CI/CD Runner:在GitLab中配置CI/CD Runner,可以选择Shared Runner(GitLab提供的共享Runner)或Specific Runner(自定义的Runner)。
2. 创建.gitlab-ci.yml文件:在项目根目录下创建.gitlab-ci.yml文件,定义CI/CD流程,包括stages、jobs、before_script、after_script等关键字。
3. 提交代码:将代码提交到GitLab仓库,触发CI/CD流程。
4. CI流程:根据.gitlab-ci.yml文件中定义的流程,GitLab会自动执行构建、测试等操作,并生成相应的报告。
5. CD流程:在CI成功后,可以配置自动部署到测试环境、预生产环境或生产环境等,实现持续部署。
6. 监控和优化:通过GitLab的CI/CD界面可以查看构建和部署的状态,及时发现问题并进行优化。
在项目的根目录下放入 .gitlab-ci.yml 文件


浙公网安备 33010602011771号