承接 sourcebroker/deployer-extended-typo3 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sourcebroker/deployer-extended-typo3

Composer 安装命令:

composer require sourcebroker/deployer-extended-typo3

包简介

Customisation for `sourcebroker/deployer-typo3-*` stack

README 文档

README

Packagist Version License: MIT

Note

This package is a working example (successfully used in a mid-sized agency) that shows how you can use different sourcebroker/deployer-* packages together. If you like the workflow provided here, feel free to use it as-is in your own projects.

However, it's often a better idea to create your own package so it fits your needs perfectly. You can combine different sourcebroker/deployer-* base packages to build your own high customized, agency-level solution.

An example of such a custom solution, built on top of sourcebroker/deployer-* packages, but adding their own improvements and adaptations is: liquidlight/deployer-typo3-ci

What does it do?

This package combine different sourcebroker/deployer-* base packages and adds some very high level customizations, you can call it agency-level customizations.

  1. sourcebroker/deployer-typo3-deploy - TYPO3 deploy process at local level
  2. sourcebroker/deployer-typo3-deploy-ci - TYPO3 deploy process at CI level (gitlab for now only)
  3. sourcebroker/deployer-typo3-database - TYPO3 preconfigured synchronization of databases between multiple instances
  4. sourcebroker/deployer-typo3-media - TYPO3 preconfigured synchronization of media between multiple instances

Installation

  1. Install package with composer:

    composer require sourcebroker/deployer-extended-typo3
  2. Put the following lines at the beginning of your deploy.php. You can decide which packages/functionality you want to use. For example remove the line ['get' => 'sourcebroker/deployer-typo3-database'], and there will be no tasks for database sync - you can replace it with your own tasks for database update. The same for ['get' => 'sourcebroker/deployer-typo3-media'] - maybe you prefer to use https://packagist.org/packages/ichhabrecht/filefill. Another example: if you choose to deploy using CI, use ['get' => sourcebroker/deployer-typo3-deploy-ci] instead of ['get' => sourcebroker/deployer-typo3-deploy]. Each package is completely independent, use only those you need.

    <?php
    
    require_once('./vendor/autoload.php');
    
    new \SourceBroker\DeployerLoader\Load([
        ['get' => 'sourcebroker/deployer-typo3-media'],
        ['get' => 'sourcebroker/deployer-typo3-database'],
        ['get' => 'sourcebroker/deployer-typo3-deploy'],
        ['get' => 'sourcebroker/deployer-extended-typo3'],
    ]);
  3. If you want to use database synchronization, please read the documentation at sourcebroker/deployer-typo3-database.

  4. If you want to use media synchronization, please read the documentation at sourcebroker/deployer-typo3-media.

Example of working configuration

CLI deploy (local)

This is an example of working configuration for TYPO3 13. The aim of sourcebroker/deployer-extended-typo3 is to have a very slim deploy.php file for easy upgrades to future versions.

<?php

namespace Deployer;

require_once('./vendor/autoload.php');

new \SourceBroker\DeployerLoader\Load([
    ['get' => 'sourcebroker/deployer-typo3-media'],
    ['get' => 'sourcebroker/deployer-typo3-database'],
    ['get' => 'sourcebroker/deployer-typo3-deploy'],
    ['get' => 'sourcebroker/deployer-extended-typo3'],
]);

set('repository', 'git@github.com:sourcebrokergit/t3base13.git');

host('production')
  ->setHostname('vm-dev.example.com')
  ->setRemoteUser('deploy')
  ->set('branch', 'main')
  ->set('public_urls', ['https://t3base13.example.com'])
  ->set('deploy_path', '~/t3base13/production');

host('staging')
  ->setHostname('vm-dev.example.com')
  ->setRemoteUser('deploy')
  ->set('branch', 'develop')
  ->set('public_urls', ['https://staging-t3base13.example.com'])
  ->set('deploy_path', '~/t3base13/staging');

GitLab CI deploy

Note

Deploy is from CI level, but database and media sync in below example still require SSH access from your local computer!

<?php

namespace Deployer;

require_once('./vendor/autoload.php');

new \SourceBroker\DeployerLoader\Load([
    ['get' => 'sourcebroker/deployer-typo3-media'],
    ['get' => 'sourcebroker/deployer-typo3-database'],
    ['get' => 'sourcebroker/deployer-typo3-deploy-ci'],
    ['get' => 'sourcebroker/deployer-extended-typo3'],
]);

host('production')
  ->setHostname('vm-dev.example.com')
  ->setRemoteUser('deploy')
  ->set('public_urls', ['https://t3base13.example.com'])
  ->set('deploy_path', '~/t3base13/production');

host('staging')
  ->setHostname('vm-dev.example.com')
  ->setRemoteUser('deploy')
  ->set('public_urls', ['https://staging-t3base13.example.com'])
  ->set('deploy_path', '~/t3base13/staging');

Changelog

See CHANGELOG.rst

sourcebroker/deployer-extended-typo3 适用场景与选型建议

sourcebroker/deployer-extended-typo3 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 213.8k 次下载、GitHub Stars 达 38, 最近一次更新时间为 2017 年 02 月 19 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「typo3」 「deployer」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 sourcebroker/deployer-extended-typo3 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 sourcebroker/deployer-extended-typo3 我们能提供哪些服务?
定制开发 / 二次开发

基于 sourcebroker/deployer-extended-typo3 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 213.8k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 38
  • 点击次数: 19
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 38
  • Watchers: 3
  • Forks: 9
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-02-19