《GitHub 项目部署 & 持续集成》 实践分享

By zhangqiang@SheenCity

概要

  • 0. git page 简介
  • 1. 什么是持续集成
  • 2. 持续集成的昨天
  • 3. 持续集成的今天

What is git page

  • Deployment by worker
  • 🌰
  • 人工部署的问题

    • 敏捷吗?
    • 解放了复杂劳动吗?
    • 能够周期性运行吗?

    什么是持续集成 (Continuous Intergration)?

    特性
  • (developer) 持续的在源码分支开发
  • (developer) 持续的 git push
  • (cloud) 持续的构建
  • (cloud) 持续的测试
  • (cloud) 持续的 publish
  • (最终目的) 持续高效的为产品带来价值
  • 📑 翻译成人话

  • 这里的 CI 泛指 CI + CD (deploy + delivery)
  • 一切需要在本地进行人为操作的时间成本及计算资源,全部转嫁到云端,并在云端制成相应的管道,自动的/定时的进行每一次的产品的构建、测试、发布。
  • CI 的根本目的是为了解决瀑布的开发流程,其理念和敏捷开发不谋而合,同时也是 Scrume 的基石。
  • Deployment by 3rd-Party CI Tools
  • Travis-CI
  • Travis CI flow

  • (pre-devlop) 签发Token
  • (pre-devlop) CI Setting
  • (pre-devlop) 编写配置文件
  • (develop) Git push
  • 配置文件

    carbon

    能不能再贪心一点 ?

  • 持续集成的逻辑可以拆分以及复用吗?
  • Has onIssue/onPr/onFork/onStar and more ... ?
  • CI 的下一个形态 Github Actions

  • 2019-08-08 宣布支持公开仓库,开放申请通道
  • 2019-11-13 正式发布: Github Universe
  • 核心概念
  • action 触发事件
  • runner 实例
  • jobs 业务(构建/测试/发布)
  • steps 琐碎的步骤
  • Github Actions 特性
  • 更多的事件 🌰
  • 更丰富的 plugin 🌰
  • 任性的承诺
  • 给力的配置
  • 配置 Demo
    🌰

    Thanks!