开源 企业版 高校版 私有云 模力方舟 AI 队友
欢迎加入我们〜
概览 仓库 3 Issues Pull Requests 动态 成员 1
精选
自定义精选项目
最多可选取 6 个公开仓库
还能勾选 3
组织介绍

PCIT (PCIT is CI TOOLKIT Written by PHP)

PHP from Packagist Build Status Support Docs

  • Support Docs | mirror
  • Feedback
  • API Docs
  • API Docs | mirror
  • Donate
  • openAPI
  • 项目状态

    积极开发中 部分描述或功能只是 路线图 中的一部分,有待实现,请点击 Star 或关注微信订阅号保持对 PCIT 的关注。

    关注项目作者微信订阅号,接收项目最新动态

    预览

    点击 参与开发

    本项目适用于对 CI/CD 感兴趣的开发者(特别是 PHP 开发者),欢迎开发者 愿景

    你尽管 push,其他的 PCIT 搞定。

    push by you, test and deploy by us.

    掌上 PCIT

    掌上 PCIT

    什么是持续集成 Continuous Integration (CI)?

    • PCIT 架构

      PCITPHP 分布式后端(1+N)(Webhooks Server + Daemon CLI + Runner(N)) + GitHub App + CLI + 开放平台(插件API)四部分组成

      • Webhooks Server 接收 Git 事件

      • Daemon CLI 后端常驻 (守护) 程序,解析 Git 事件生成一个 build 并将其分解为多个 job (Server 节点),之后在 Docker 单机或集群(Kubernetes)中执行构建、测试、容器化部署的自动化过程(Runner)。

      • CLI 提供各种实用的功能,例如命令行查看构建状态

      • 开放平台 包含用于功能扩展的 插件RESTFul API,与开发者一道构建 PCIT 生态系统

      开放(合作共赢)

      • Providers
      • Plugins
      • 使用方法(使用之前需要私有部署 PCIT EE)

        这里只是介绍部署 PCIT 之后如何使用 PCIT 进行 CI/CD 实践,如何部署 PCIT 请查看下一小节

        1. 点击 .pcit.yml 来配置 CI 规则

        language: php
        
        steps:
        
         before_install: ['echoexecinitscript']
        
         install: composer install
        
         script:
         - composer test
        
         after_success:
         image: bash
         if:
         status: success
         run:
         - echo "build is success"
        
        services:
         redis:
         mysql:

        为了智能补全、错误提示等功能,推荐使用 vsCode 编辑 .pcit.yml 文件。安装 redhat.vscode-yaml 扩展并在项目的 .vscode/settings.json 文件中增加以下内容。

        {
        + "yaml.schemas": {
        + "https://github.com/pcit-ce/pcit/raw/master/config/config.schema.json": [
        + ".pcit.yaml",
        + ".pcit.yml",
        + ".pcit/**.yaml",
        + ".pcit/**.yml"
        + ]
        + }
        }

        3. 推送 git 仓库到 GitHub,PCIT 开始进行 构建 测试 部署 等一系列工作。

        查看构建的聚合页面,请登录 PCIT CE vs PCIT EE

        在未来 PCIT 可能会提供 公有云服务 让开发者无需私有部署即可方便快捷的使用 PCIT。我们将这个有待实现的版本称为 PCIT CE。

        所以 CEEE 的区别为是否需要开发者自行部署。

        部署 PCIT EE

        依托于 khs1994-docker/lnmp LNMP 容器化解决方案,私有部署 PCIT 也很方便。

  • 1. 在 GitHub $ ./lnmp-docker pcit-up

    5. 点击刚才注册好的 GitHub App 地址 https://github.com/pcit-ce/pcit/blob/master/docs/install/ee.md

    示例项目

    目前 PCIT 官方维护以下语言的示例项目。

    语言 地址 构建页面
    PHP Build Status
    Node.js Build Status
    微信小程序 (Node.js) https://github.com/khs1994/khs1994.github.io https://github.com/khs1994-docker/lnmp 生态系统

    Why PCIT