Tích hợp bản backport NextPDF
Đây chỉ là công cụ build, không phải phụ thuộc lúc chạy. Người bảo trì dùng gói này để tạo các bản phân phối backport PHP (PHP: Hypertext Preprocessor) 7.4 và PHP 8.1 của NextPDF. Ứng dụng không bao giờ được thêm gói này làm phụ thuộc lúc chạy.
Tổng quan nhanh
Phần tiêu đề “Tổng quan nhanh”Có hai điểm tích hợp riêng biệt. Bạn tích hợp kho lưu trữ của trình tạo vào quy trình phát hành của máy chủ build. Một ứng dụng hạ nguồn chỉ tích hợp gói được tạo ra, nextpdf/backport, vào cây phụ thuộc của mình. Trình tạo không bao giờ nằm trong cây phụ thuộc của ứng dụng.
Cài đặt (chỉ dành cho máy chủ build)
Phần tiêu đề “Cài đặt (chỉ dành cho máy chủ build)”Vì trình tạo khai báo "type": "project" trong composer.json, hãy xem nó là một kho lưu trữ dự án, không phải thư viện. Hãy tích hợp bằng cách clone kho lưu trữ và chạy cài đặt dev, không dùng composer require:
git clone https://github.com/nextpdf-labs/backport.gitcd backportgit checkout PHP74composer install --prefer-dist --no-progressHãy check out nhánh tương ứng với mục tiêu bạn định tạo. Dùng PHP74 (mặc định) cho bản phân phối PHP 7.4 chỉ-core. Dùng PHP81 cho bản phân phối PHP 8.1 có đầy đủ adapter. Đừng truyền --no-dev. Quá trình build cần engine Rector, PHPStan và PHPUnit; đó là các phụ thuộc dev. Đã xác minh dựa trên composer.json (type, require-dev) và mô hình nhánh kép trong /integrations/backport/overview/.
Khởi động và tự động khám phá
Phần tiêu đề “Khởi động và tự động khám phá”Trình tạo không có cơ chế tự động khám phá framework. Khi build, scripts/build.php nạp Rector và ba quy tắc abstract syntax tree tùy chỉnh thông qua các lệnh gọi require_once tường minh và cơ chế autoload Composer PHP Standards Recommendation 4 (PSR-4). Trình tự khởi động đầy đủ và cách khám phá module nguồn được tài liệu hóa trong /integrations/backport/boot-and-discovery/.
Liên kết container
Phần tiêu đề “Liên kết container”Không áp dụng. Trình tạo là một công cụ giao diện dòng lệnh (CLI), không có container dependency-injection. Đã xác minh dựa trên cấu trúc kho lưu trữ và composer.jsonautoload.
Cấu hình xuất bản
Phần tiêu đề “Cấu hình xuất bản”“Cấu hình xuất bản” không phải là một tệp riêng. Đây là tập hợp các cờ build và định nghĩa gói cố định trong scripts/adjust-composer.php:
- Bản đồ mục tiêu.
--target=php81tạo ranextpdf/backport(ràng buộc>=8.1 <8.5, thay thế core, các adapter và compat-legacy) và, khi được bao gồm,nextpdf/backport-pro.--target=php74tạo ranextpdf/backport(ràng buộc>=7.4 <8.1, chỉ thay thếnextpdf/core) và không có Pro. - Loại trừ.
--no-proloại trừ gói Pro trên mục tiêu PHP 8.1. Theo thiết kế, mục tiêu PHP 7.4 loại trừ Pro và tất cả adapter. - Phiên bản. Quá trình build ghi
--version(hoặc thẻ phát hành sau khi bỏ ký tựvở đầu) vàocomposer.jsonvàCHANGELOG.mdđược tạo ra.
Hành vi này đã xác minh dựa trên scripts/build.php và scripts/adjust-composer.php (generatePublicComposer(), generateProComposer(), buildReplace()). Tài liệu tham khảo đầy đủ về các cờ nằm trong /integrations/backport/configuration/.
Tích hợp vào quy trình phát hành
Phần tiêu đề “Tích hợp vào quy trình phát hành”Bạn tích hợp trình tạo vào quy trình phát hành thông qua các workflow GitHub Actions trong .github/workflows/. 0-ci.yml kiểm soát mọi thay đổi trên từng nhánh cố định bằng PHPStan, các bài kiểm thử quy tắc và một lần chạy thử. build.yml tạo và phát hành bản phân phối khi nhận được sự kiện repository-dispatch source-release hoặc một lần kích hoạt thủ công. Mô hình vận hành đầy đủ — các trigger, các luồng, ma trận xác thực và bản phát hành dùng chung — được tài liệu hóa trong /integrations/backport/production-usage/.
Kiểm thử nhanh cách sử dụng kết quả đầu ra
Phần tiêu đề “Kiểm thử nhanh cách sử dụng kết quả đầu ra”Pipeline phát hành chính là bài kiểm thử nhanh cho việc tích hợp. Sau khi build hoàn tất, workflow chuyển runner sang phiên bản PHP mục tiêu và chạy php -l trên toàn bộ mã nguồn được tạo ra. Sau đó, nó cài đặt và chạy thử gói được tạo ra trên toàn bộ ma trận xác thực (PHP 8.1–8.4 cho luồng PHP 8.1, PHP 7.4 và 8.0 cho luồng PHP 7.4). Một bản phân phối bị runtime mục tiêu từ chối sẽ không đi đến bước phát hành. Đã xác minh dựa trên .github/workflows/build.yml (các job kiểm tra cú pháp và validate-*). Bạn có thể kiểm thử nhanh đầu ra được tạo cục bộ theo cách tương tự bằng lệnh Docker mà giai đoạn xác thực in ra — xem /integrations/backport/quickstart/.
Các điểm vào công khai
Phần tiêu đề “Các điểm vào công khai”Bề mặt công khai của trình tạo là bộ điều phối CLI và các bí danh script Composer của nó, không phải tệp thực thi bin/.
| Điểm vào | Phân giải thành | Mục đích |
|---|---|---|
composer build | php scripts/build.php | Chạy bản build đầy đủ |
composer build:dry | php scripts/build.php --dry-run | Chạy bản build thử |
composer test | phpunit | Chạy các bộ kiểm thử fixture của quy tắc |
composer analyse | phpstan analyse rector/rules scripts --level=10 | Phân tích mã build |
Đã xác minh dựa trên composer.jsonscripts. Gói hạ nguồn để lộ các ký hiệu giao diện lập trình ứng dụng (API) NextPDF\ gốc, không bị bản backport thay đổi. Gói này thay thế các gói nguồn và tự động nạp cây đã hợp nhất thông qua một tiền tố PSR-4 duy nhất.
Xem thêm
Phần tiêu đề “Xem thêm”- /integrations/backport/overview/ — trình tạo là gì và nó tạo ra những gì.
- /integrations/backport/boot-and-discovery/ — trình tự khởi động và khám phá nguồn.
- /integrations/backport/install/ — cài đặt trên máy chủ build và hạ nguồn.
- /integrations/backport/production-usage/ — pipeline phát hành.