基于Gitee Go官方参考设计的远端持续集成验证

文章目录


1 Fork一个Gitee Go官方Demo仓库

访问官方文档

复制代码
https://help.gitee.com/gitee-go/get-started-in-3-steps

按需Fork Demo仓库

我选择了Python使用示例

2 进入你Fork后的仓库开启Gitee Go

点击流水线

3 让系统自动生成 3 条流水线

启用Gitee Go默认创建三条流水线

并且会向你的仓库自动提交一次,生成 .workflow 文件夹和三个 YAML 文件

复制代码
MasterPipeline.yml:主分支流水线
BranchPipeline.yml:普通分支提交时触发的流水线
PRPipeline.yml:发起 Pull Request 时触发的流水线

4 直接触发构建

5 查看运行结果

6 总结

到底干了什么

在 Gitee 远端成功跑通现成的商用持续集成参考设计,并演示结果。

持续集成CI

开发者写完代码后,不要等到最后一起手工检查,而是每次提交代码后,让系统自动帮你做检查、构建、测试。(代码一提交系统自动开始干活自动判断这次改动有没有问题)

Gitee远端

不是你在自己电脑上手动运行脚本,而是在Gitee平台的服务器环境里运行。(代码放在Gitee仓库流水线也在Gitee上配置构建、检查、发布等操作由Gitee平台执行)

商用的参考设计

直接Fork官方Demo使用官方默认生成的流水线模板证明这套"标准设计"在Gitee上能跑通。

7 解析master-pipeline.yml(流水线配置文件)

基本信息

yaml 复制代码
version: '1.0'
name: master-pipeline
displayName: MasterPipeline

stages流水线的阶段

compile编译阶段

yaml 复制代码
- stage: 
  name: compile
  displayName: 编译

Step 1:Python 构建

yaml 复制代码
steps:
  - step: build@python
    name: build_python
    displayName: Python 构建
    pythonVersion: '3.9'
    # 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
    artifacts:
        # 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
      - name: BUILD_ARTIFACT
        # 构建产物获取路径,是指代码编译完毕之后构建物的所在路径
        path:
          - ./
    commands:
      - python3 -m pip install --upgrade pip
      - pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
      - pip3 install -r requirements.txt
      - python3 ./main.py

什么是"构建产物artifacts"?CI 运行完后产生的结果,比如:编译后的文件、打包结果、运行输出。
什么是"commands"?真正执行的命令

Step 2:上传制品(把刚刚的构建结果保存起来)

yaml 复制代码
- step: publish@general_artifacts
  name: publish_general_artifacts
  displayName: 上传制品
  # 上游构建任务定义的产物名,默认BUILD_ARTIFACT
  dependArtifact: BUILD_ARTIFACT
  # 上传到制品库时的制品命名,默认output
  artifactName: output
  dependsOn: build_python

release发布阶段

yaml 复制代码
- stage: 
  name: release
  displayName: 发布
  steps:
    - step: publish@release_artifacts
      name: publish_release_artifacts
      displayName: '发布'
      # 上游上传制品任务的产出
      dependArtifact: output
      # 发布制品版本号
      version: '1.0.0.0'
      # 是否开启版本号自增,默认开启
      autoIncrement: true

触发规则

当 master 分支有代码提交时,自动触发流水线

yaml 复制代码
triggers:
  push:
    branches:
      include:
        - master
相关推荐
cooldream200912 小时前
Git实战指南:从Gitee拉取到推送的完整工作流详解
git·gitee
希望未来不会秃12 小时前
【Git实战】如何将本地已有项目关联并推送到指定的远程仓库(保姆级教程)
git·gitee·github
zhangfeng113313 小时前
CI/CD 是软件开发中的两个核心实践,合起来指代一套自动化的软件交付流程
运维·ci/cd·自动化
前端不太难14 小时前
鸿蒙游戏 CI/CD:为什么你还在手动打包?
游戏·ci/cd·harmonyos
牛奶咖啡1316 小时前
CI/CD——使用Jenkins自动化构建java项目之使用传统方式部署java web项目jpress
ci/cd·jenkins·jenkins创建任务·实现jpress的自动化部署·git的ssh主机密钥问题解决·配置ssh免密登录·在线安装jdk1.8环境
历程里程碑1 天前
4 Git远程协作:从零开始,玩转仓库关联与代码同步(带实操代码讲解)
大数据·c++·git·elasticsearch·搜索引擎·gitee·github
活跃的煤矿打工人1 天前
【星海随笔】Gitee
gitee
牛奶咖啡131 天前
CI/CD——使用Jenkins实现自动化部署与持续集成之jenkins插件与凭据配置
ci/cd·jenkins·jenkins必备插件安装·jenkins全局工具配置·jenkins的凭据配置·jenkins自动化部署流程·jenkinsgitlab集成
HZ·湘怡2 天前
Gitee 手把手
git·gitee
@_@ prince @_@2 天前
Git 命令大全(带详细说明)
git·gitee·github·visual studio