1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/pcit-ce-pcit

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

PCIT (PCIT — это инструментарий CI, написанный на PHP)

GitHub stars PHP from Packagist GitHub (pre-)release Build Status codecov

Первая открытая облачная система CI/CD, основанная на GitHub Checks API, написанная на PHP и работающая в контейнере Docker с использованием технологий искусственного интеллекта от Tencent

Статус проекта

Активное развитие Некоторые описания или функции являются частью дорожной карты, которая ещё должна быть реализована. Пожалуйста, отметьте Star или следите за официальным WeChat-каналом для получения последних новостей о PCIT.

Подпишитесь на официальный WeChat-канал автора проекта для получения последних новостей

Пример использования

Нажмите https://ci.khs1994.com/github/khs1994-docker/lnmp, чтобы просмотреть интерфейсы функций PCIT.

Участие в разработке

Проект предназначен для разработчиков, интересующихся CI/CD (особенно PHP-разработчиков). Приглашаем вас принять участие в разработке PCIT.

Видение

Вы можете просто выполнять push, а остальное сделает PCIT. Тестирование и деплой будут выполнены нами.

Портативная система CI/CD PCIT

Портативная система CI/CD PCIT

Что такое непрерывная интеграция Continuous Integration (CI)?

Непрерывная интеграция (CI) — это практик разработки программного обеспечения, при которой члены команды часто интегрируют свои работы, а не делают это в конце цикла разработки. Каждый участник команды выполняет интеграцию как минимум один раз в день, что может привести к многократной интеграции за день. Каждая интеграция проверяется автоматизированной сборкой (включая компиляцию, публикацию, автоматическое тестирование), чтобы尽早发现集成错误。Цель непрерывной интеграции (CI) заключается в том, чтобы строить более здоровое программное обеспечение через разработку и тестирование в меньших порциях.

ci

Как система непрерывной интеграции, PCIT автоматически собирает и тестирует при каждом изменении кода, предоставляя мгновенную обратную связь о состоянии сборки. PCIT также автоматизирует другие процессы разработки программного обеспечения, такие как управление развертыванием и уведомлениями.

Когда разработчик отправляет изменения кода в Git, PCIT клонирует Git-репозиторий в контейнерной среде и выполняет серию задач по сборке и тестированию кода. Если одна или несколько задач проваливаются, сборка считается неудачной. Если ни одна задача не провалится, сборка считается успешной. В то же время PCIT может развернуть код на веб-серверах, хостах приложений или кластерах контейнеров.

Архитектура системы PCIT

PCIT состоит из распределённого PHP-заднего плана (1+N) (Webhooks Server + Daemon CLI + Runner(N)) + GitHub App + CLI + открытой платформы (плагины, API).

  • Webhooks Server принимает события Git.* Daemon CLI — постоянный фоновый процесс (daemon), который расшифровывает события Git, создает сборку и разбивает её на множество задач (jobs) для выполнения на сервере (Node). После этого запускается автоматический процесс сборки, тестирования и контейнеризации развертывания на одном компьютере с Docker или кластере Kubernetes (Runner).* CLI предоставляет различные полезные функции, такие как просмотр состояния сборки через командную строку.* Открытая платформа включает плагины для расширения функциональности и RESTful API, вместе с разработчиками создаем экосистему PCIT

Открытое сотрудничество (взаимовыгодное партнерство)

Как использовать (перед использованием требуется локальная установка PCIT EE)

В этом разделе мы рассмотрим использование PCIT после его установки для выполнения CI/CD практик. Инструкция по установке находится в следующем разделе.

1. Нажмите на PCIT-CE GitHub App для установки

2. Корневой каталог вашего Git-репозитория должен содержать файл конфигурации CI [.pcit.yml](https://github.com/pcit-ce/pcit/tree/master/pcit_examples) для настройки правил CI

language: php

steps:

  before_install: ['echo exec init script']

  install: composer install

  script:
    - composer test

  after_success:
    image: bash
    if:
      status: success
    run:
      - echo "build is success"

services:
  redis:
  mysql:

Для автодополнения и отображения ошибок рекомендуется использовать VS Code для редактирования файла .pcit.yml. Установите расширение redhat.vscode-yaml и добавьте следующий контент в файл .vscode/settings.json.```diff {


**3.** Отправьте ваш Git-репозиторий на GitHub, и PCIT начнет выполнять серию задач, таких как сборку, тестирование и развертывание.

> Чтобы просмотреть агрегированную страницу сборки, перейдите на сайт <https://ci.khs1994.com/login>.

## Сравнение между PCIT CE и PCIT EE

В будущем PCIT может предоставлять **облачные сервисы**, чтобы разработчики могли легко и быстро использовать PCIT без необходимости самостоятельной установки. Мы называем этот вариант реализации PCIT CE.

Поэтому различие между **CE** и **EE** заключается в том, что при использовании **EE** требуется самостоятельная установка.

## Установка PCIT EE

> Благодаря решению LNMP на основе khs1994-docker/private, локальная установка PCIT также является простым процессом.

* ~~PHP~~

* ~~MySQL~~

* ~~Redis~~

* **Только** необходима установка Docker и khs1994-docker/lnmp и сайта SSL/TLS сертификата <https://github.com/Neilpang/acme.sh>```bash
# Установка Docker здесь не рассматривается подробно

# Установка khs1994-docker/lnmp

$ git clone --depth=1 https://github.com/khs1994-docker/lnmp.git ~/lnmp

# Китайская зеркальная версия
# $ git clone --depth=1 https://gitee.com/khs1994-docker/lnmp.git ~/lnmp

$ cd ~/lnmp

1. Создайте приложение GitHub в разделе Настройки > Разработчики > Приложения GitHub.

2. Включите OAuth для вашего приложения GitHub.3. Подготовьте сертификаты, включая сертификат сайта и приватный ключ приложения GitHub.

4. Измените переменные в файле ~/lnmp/pcit/.env.development, после чего запустите PCIT.

$ ./lnmp-docker pcit-up

5. Нажмите на адрес приложения GitHub, которое вы создали ранее, https://github.com/apps/YOUR_APP_NAME, чтобы установить его.

6. Корневой каталог репозитория Git должен содержать файл .pcit.yml.

7. Отправьте проект на GitHub и проверьте сборку в разделе "Commit".

Дополнительные шаги можно найти по адресу https://github.com/pcit-ce/pcit/blob/master/docs/install/ee.md

Примеры проектов

PCIT официально поддерживает следующие примеры проектов:

Язык Адрес Страница сборки
PHP https://github.com/khs1994-php/tencent-ai Статус сборки
Node.js https://github.com/khs1994/tencent-ai-js Статус сборки
WeChat Mini Program (Node.js) https://github.com/docker-practice/miniprogram
Hexo (Node.js) https://github.com/khs1994/khs1994.github.io Статус сборки
Bash Shell https://github.com/khs1994-docker/lnmp Статус сборки

Экосистема

Почему PCIT

Подпроекты PCIT* Docker PHP SDK

Разделение проекта

Ожидает разделения

Уже разделено

Docker образы

  • pcit/pcit

  • pcit/frontend

Благодарности

Китайские партнеры

Другие проекты CI/CD на GitHub

Что такое облачное первоначальное проектирование Cloud Native?

Облачное первоначальное проектирование использует открытую программную базу данных для того, чтобы быть:1. Контейнеризированным. Каждая часть (приложение, процесс и т.д.) упакована в отдельный контейнер. Это способствует воспроизводимости, прозрачности и изоляции ресурсов. 2. Динамически управляемым. Контейнеры активно расписывают и управляют для оптимизации использования ресурсов. 3. Ориентированным на микросервисы. Приложения разделены на микросервисы. Это значительно повышает общую гибкость и поддерживаемость приложений.

Введение

Это первый открытый исходный код непрерывной интеграции и непрерывного развёртывания (CI/CD) в Китае, написанный на PHP с использованием GitHub Checks API. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/pcit-ce-pcit.git
git@api.gitlife.ru:oschina-mirror/pcit-ce-pcit.git
oschina-mirror
pcit-ce-pcit
pcit-ce-pcit
master