spryker-sdk / upgrader
代码评估和升级工具
0.3.9
2024-09-20 17:33 UTC
Requires
- php: >=8.1
- ext-json: *
- ext-simplexml: *
- composer/semver: ^3.3
- davidrjonas/composer-lock-diff: ^1.7
- ergebnis/json-printer: ^3.2
- guzzlehttp/guzzle: ^7.8
- http-interop/http-factory-guzzle: ^1.2
- knplabs/github-api: ^3.13
- m4tthumphrey/php-gitlab-api: ^11.12
- nette/neon: ^3.4
- nikic/php-parser: 4.15.*
- phpstan/phpstan: ^1.10
- spryker-sdk/azure-php-client: ^0.2.1
- spryker-sdk/integrator: ^0.1.1
- spryker-sdk/sdk-contracts: ^0.5.0
- spryker-sdk/utils: ^0.2.2
- symfony/config: ^6.0
- symfony/console: ^6.0
- symfony/dependency-injection: ^6.0
- symfony/dotenv: ^6.0
- symfony/filesystem: ^6.0
- symfony/finder: ^6.0
- symfony/framework-bundle: ^6.0
- symfony/http-kernel: ^6.0
- symfony/monolog-bundle: ^3.10
- symfony/process: ^6.0
- symfony/runtime: ^6.0
- symfony/serializer: ^6.0
- symfony/uid: ^6.0
- symfony/yaml: ^6.0
Requires (Dev)
- mikey179/vfsstream: ^1.6.11
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9.6
- spryker/code-sniffer: dev-master
- dev-master
- 0.3.9
- 0.3.8
- 0.3.7
- 0.3.6
- 0.3.5
- 0.3.4
- 0.3.3
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.0
- dev-bugfix/supesc-873/spryker-code-upgrader-issues
- dev-bugfix/supesc-889/truncate-error-traces-in-upgrader
- dev-feature/frw-8801/master-added-php-83-support
- dev-dependabot/composer/tests/data/phpseclib/phpseclib-3.0.37
- dev-feature/sdk-5711-drop-php74
- dev-feature/sdk-noticket-upgrader-8.2
- dev-feature/sdk-00-upgrader-with-code-corruptor
- dev-feature/project-deps-udate
- dev-feature/pplus-1766-fix-single-plugin-registration
- dev-PPLUS-1386-implement-resolver-poc
- dev-bugfix/pplus-1293-we-can-not-read-properly-methods-in-a-few-modules-on-the-client-side
- dev-feature/pplus/integrator-as-part-of-upgrader
- dev-feature/pplus-853-fix-static-reports-fix-method-check
This package is auto-updated.
Last update: 2024-09-20 17:43:40 UTC
README
升级器
升级器工具简化了与 Spryker 版本保持项目同步的过程。
升级器通过以下方法之一更新项目:
- 发布组(默认)—使用 Spryker 发布应用程序作为数据提供者。
- Composer 更新—使用
composer update
命令;这是下面描述的默认策略。在此步骤中,升级器按照以下方式将项目更新到最新版本:
- 检查目标分支是否已在远程存储库中创建。如果分支存在,则过程停止。
- 检查项目中是否没有未提交的更改。如果有未提交的更改,则过程停止。
- 更新 Spryker 模块和依赖库,包括第三方库。
- 触发 Integrator 以调整项目类。
- 提交更改的文件。
- 将更改推送到远程存储库。
- 在远程存储库中创建 PR。
支持的战略
Composer 战略
- 要启用 Composer 更新策略
export UPGRADE_STRATEGY=composer
Composer 更新策略
Composer install|update 使用两种策略。默认情况下,Composer 使用下载的包更新锁文件。
- 要启用不下载包而更新
composer.lock
文件
export COMPOSER_NO_INSTALL=true
发布应用程序战略
在此策略中,升级器使用 Spryker 发布应用程序作为数据提供者以获取有关主要、次要和修补程序版本的数据。目前只能自动应用次要和修补程序。如果有可用的某些主要版本,升级器将在 PR 描述中添加相关信息。
- 要启用发布组策略(默认)
export UPGRADE_STRATEGY=release-app
在此策略中,升级器包含顺序(默认)发布组需要处理器(一个接一个的发布组)。
顺序发布组处理器
- 要启用顺序发布组处理器(默认)
export RELEASE_GROUP_PROCESSOR=sequential
顺序发布组处理器包含阈值,默认为每个升级器启动 30 个发布组。
- 要更改阈值
export THRESHOLD_RELEASE_GROUP=<number>
软阈值
软主要阈值,默认为 0。
- 要更改软主要阈值
export SOFT_THRESHOLD_MAJOR=<number>
软次要阈值,默认为 10。
- 要更改软次要阈值
export SOFT_THRESHOLD_MINOR=<number>
软错误修复阈值,默认为 30。
- 要更改软修补程序阈值
export SOFT_THRESHOLD_PATCH=<number>
为更新步骤添加 GitHub 配置
要使升级器执行此步骤,请应用以下配置:
- GitHub 是默认的源代码提供者。如果您想手动定义它,请使用以下环境变量:
export SOURCE_CODE_PROVIDER=github
- 将 GitHub 访问令牌添加到要更新的项目存储库,并具有推送分支和创建 PR 的权限:
export ACCESS_TOKEN=<GITHUB_TOKEN>
- 添加拥有要更新项目存储库的组织名称
export ORGANIZATION_NAME=<ORGANIZATION>
- 添加要更新项目的存储库名称
export REPOSITORY_NAME=<REPOSITORY>
为更新步骤添加 GitLab 配置
要使升级器执行此步骤,请应用以下配置:
- 启用 GitLab 源代码提供者:
export SOURCE_CODE_PROVIDER=gitlab
- 将 GitLab 访问令牌添加到要更新项目的存储库,并具有推送分支和创建 PR 的权限:
export ACCESS_TOKEN=<GITLAB_TOKEN>
- 添加要更新项目的项目 ID
export PROJECT_ID=<PROJECT_ID>
- 可选。对于自托管的源代码提供者,请添加您提供者的 URL
export SOURCE_CODE_PROVIDER_URL=<https://git.yourdomain.com>
为更新步骤添加 Azure 配置
要使升级器执行此步骤,请应用以下配置:
- 启用 Azure 源代码提供者:
export SOURCE_CODE_PROVIDER=azure
- 将 Azure 访问令牌添加到要更新项目的存储库,并具有推送分支和创建 PR 的权限:
export ACCESS_TOKEN=<AZURE_TOKEN>
- 添加拥有要更新项目存储库的组织名称:
export ORGANIZATION_NAME=<ORGANIZATION_NAME>
- 添加您想要更新的项目名称或项目 ID:
export PROJECT_NAME=<PROJECT_NAME> # OR export PROJECT_ID=<PROJECT_ID>
- 添加项目的存储库名称或存储库 ID:
export REPOSITORY_NAME=<REPOSITORY_NAME> # OR export REPOSITORY_ID=<REPOSITORY_ID>
报告配置
- 可选。定义报告统计的执行环境
export APP_ENV=sprykerci
- 可选。启用报告发送功能。默认情况下是禁用的。
export REPORTING_ENABLED=true
- 可选。报告发送过程中的远程服务器请求授权的安全令牌。
export REPORT_SEND_AUTH_TOKEN=<TOKEN>
通过SDK更新项目
要更新项目,请从其目录运行以下命令
bin/console upgradability:php:upgrade
启用发布组集成器
- 打开发布组集成器的特定行为(内部使用)。
export RELEASE_GROUP_INTEGRATOR_ENABLED=true
启用第三方依赖的最小更新
- 打开最小化更新第三方依赖的特定行为。
export UPDATE_MINIMUM_DEPENDENCIES_ENABLED=true
启用更新功能到dev-master修复程序
- 打开更新功能到dev-master的内部特定行为。
export UPDATE_FEATURES_TO_DEV_MASTER=true
启用项目更改集成
- 在包更新步骤后打开集成器触发器
export INTEGRATOR_ENABLED=true
禁用安装新的Spryker包
- 关闭安装新的Spryker包
export PACKAGE_UPGRADE_ONLY=true
更新后启用项目代码合规性
- 在包更新步骤后打开代码合规性触发器
export EVALUATOR_ENABLED=true
指定发布组
- 指定发布组以仅应用包
export RELEASE_GROUP_ID=123
指定拉取请求审阅者
- 指定要添加为拉取请求审阅者的GitHub用户登录名
export PULL_REQUEST_REVIEWERS=<login_1,login_two,...>
安装
有关Spryker SDK安装说明,请参阅Spryker SDK