Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • GitCode
  • 帮助文档帮助文档
  • Wiki
    • Docs
  • ci

帮助文档
帮助文档
  • 项目概览

GitCode / 帮助文档

通知 1799
Star 580
Fork 457
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 44
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 1
  • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • Wiki 89
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 代码片段
  • 项目成员
  • Pages
帮助文档
帮助文档
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 44
    • Issue 44
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 1
    • 合并请求 1
  • Pages
  • DevOps
    • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 89
    • Wiki
  • 代码片段
    • 代码片段
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 流水线任务
  • 提交
  • Issue看板

ci

最后修改来自于BaiXuePrincess 6月 11, 2021
页面历史

开始使用 CI/CD

在开始使用 CI/CD 功能之前,请确保:

  • 一个你想使用 CI/CD 功能的项目
  • 你至少拥有项目的 Maintainer 权限

CI/CD 处理过程

在开始使用 CI/CD 功能前,需要:

  1. 确保为项目配置了可以运行流水线任务的 runners,我们会提供一些可用的共享 runners,你可以直接开始使用
  2. 在你项目的根目录添加一个 .codechina-ci.yml 文件,并在其中配置好你的流水线任务

当你往项目仓库中推送文件的时候,runners 会运行你的流水线任务,运行的结果会显示在流水线中。

确保你有可用的 runners

runner 是运行 CI/CD 流水线任务的代理,建议你使用我们提供的共享 runners,你可以在项目设置 - DevOps中展开 Runners 查看目前可用的 runners。

你至少需要一个活跃的 runner,runner 旁边的绿色圆圈表示其是一个活跃的 runner,可用于处理你的流水线任务。

创建.codechina-ci.yml文件

.codechina-ci.yml是一个yaml格式的文件,可用于配置 CI/CD 的特定指令。

在这个文件中,你可以定义:

  • runner 执行流水线任务的结构和顺序
  • runner 在遇到特定条件时的处理方式

假设你希望在提交到除默认分支之外的任何分支时运行一系列的测试,当在提交到默认分支的时候,除了运行相同的测试外,还希望发布你的应用程序。

所有这些都可以在.codechina-ci.yml中进行配置。

你可以通过以下步骤创建一个.codechina-ci.yml文件:

  1. 进入项目
  2. 在文件目录上方,选择要提交的分支,单击加号图标,然后选择新建文件
  3. 文件名命名为 .codechina-ci.yml,模板类型也选择为.codechina-ci.yml并选择相应的模板,或者你也可以将以下示例配置文件粘贴进去
build-job:
  stage: build
  script:
    - echo "Hello, $GITLAB_USER_LOGIN!"

test-job1:
  stage: test
  script:
    - echo "This job tests something"

test-job2:
  stage: test
  script:
    - echo "This job tests something, but takes more time than test-job1."
    - echo "After the echo commands complete, it runs the sleep command for 20 seconds"
    - echo "which simulates a test that runs 20 seconds longer than test-job1"
    - sleep 20

deploy-prod:
  stage: deploy
  script:
    - echo "This job deploys something from the $CI_COMMIT_BRANCH branch."

$GITLAB_USER_LOGIN和$CI_COMMIT_BRANCH是在运行流水线任务时填充的预定义变量。 4. 单击提交变更按钮

.codechina-ci.yml小贴士

  • 如果您希望 runner 使用 Docker 容器来运行流水线任务,在.codechina-ci.yml文件以包含对应的镜像名称即可:

    default:
      image: ruby:2.7.2

此命令告诉 runner 使用来自 Docker Hub 的 Ruby 镜像并在从该镜像生成的容器中运行流水线任务。

此过程不同于将应用程序构建为 Docker 容器。您的应用程序无需构建为 Docker 容器即可在 Docker 容器中运行 CI/CD 的流水线任务。

  • 要验证您的.codechina-ci.yml文件,请使用每个项目中都可用的 CI Lint 工具。
  • 您还可以使用 CI/CD 配置可视化来查看.codechina-ci.yml文件的图形表示
  • 更多.codechina-ci.yml语法相关的内容,请参阅 该.codechina-ci.yml语法说明。

查看流水线和流水线任务的状态

当你提交了代码变更后,流水线就会自动运行。可以通过以下方式要查看你的流水线:

  • 跳转至 DevOps > 流水线

你会看到一个具有 3个 stages 的 pipeline:

3个 stages

  • 要查看流水线的可视化图形,你可以单击流水线的 ID

可视化图形

  • 要查看流水线任务的详细信息,你可以单击流水线任务的名称,比如 deploy-prod

流水线任务详情

如果流水线任务的状态是 stuck,请检查项目的 Runner 是否配置正确。

克隆仓库

快速访问

  • 首页
  • 组织
    • 子组织
    • 申请入驻
  • 项目
    • 徽章
    • 批量编辑
    • 新建项目
    • 描述模板
    • 文件查找
    • 合并请求
      • 允许协作
      • 创建合并请求
      • Cherry-pick
      • 快进合并
      • 解决冲突
      • 还原
      • 评审及管理
      • Squash合并
      • 合并请求版本
      • 草稿
    • 项目成员
    • 导入
      • Github
      • URL
    • Releases
    • 代码仓库
      • 分支
      • Git属性
      • Blame
      • 文件历史记录
      • 仓库镜像
      • 保护分支
      • 保护Tag
      • Git LFS
      • 减少仓库大小
      • GPG签名提交
      • 文件编辑
      • WebIDE
    • 项目设置
    • 与群组共享项目
    • wiki
    • 代码片
    • Pages
      • Hugo
      • Mdbook
      • html
  • Issues
    • 机密Issue
    • 关联Issue
    • 截止日期
    • 看板
    • 操作Issue
    • 标签
    • 管理Issue
    • 里程碑
    • Issue排序
  • API
    • Runners Api
  • CI / CD
    • Pipelines
      • 流水线计划
      • 设置
    • 变量
    • Runners
    • .codechina-ci.yml
      • .codechina-ci.yml 参考
      • 语法验证
  • 用户
    • 举报用户
    • 用户账号
      • 登录日志
      • 用户权限
      • 个人访问令牌
      • 个人偏好
    • Notebook
    • 探讨
    • SSH密钥
    • 快捷键
    • Markdown
    • 电子邮件通知
    • 快速操作
      • 自动填充
    • 预留命名空间
    • 搜索
    • 时间跟踪
    • 待办事项
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7