infografic/wp-deployer-core
Composer 安装命令:
composer require infografic/wp-deployer-core
包简介
Reusable Deployer core for WordPress (Bedrock and Native) with EasyEngine provisioning
README 文档
README
Core reutilizável de Deployer para projetos WordPress (Bedrock e Native), incluindo tasks de provisionamento com EasyEngine, tasks de manutenção compartilhadas e artefatos de CI/templates prontos para uso.
O que o pacote contém
deploy.php— entrypoint que carrega helpers, providers e todas as tasks. É o arquivo que o projeto consumidor inclui.src/helpers.php— funções auxiliares e adaptadores por tipo de projeto (PROJECT_TYPE).src/providers/easyengine.php— integração com EasyEngine.src/tasks/*.php— cadeia de deploy, provisionamento, backup e manutenção.templates/— exemplos reutilizáveis de.gitattributes, workflows do GitHub Actions e comandos.ddev, organizados por tipo (bedrock/native) e comuns (common).bin/sync-templates— binário que sincroniza os templates do pacote para o projeto consumidor.
Requisitos
- PHP
>= 8.3 deployer/deployer^8.0oscarotero/env^2.1
Instalação
No projeto consumidor, instale como dependência de desenvolvimento:
composer require --dev infografic/wp-deployer-core
Ou diretamente no composer.json:
{
"require-dev": {
"infografic/wp-deployer-core": "^1.0"
}
}
Quick start
No deploy.php do projeto consumidor:
<?php namespace Deployer; define('DEPLOY_ROOT', __DIR__); // Configuração específica do projeto (hosts, secrets, env_required, etc.) require __DIR__ . '/deploy/config.php'; // Core do pacote: carrega helpers, providers e todas as tasks require __DIR__ . '/vendor/infografic/wp-deployer-core/deploy.php';
Os overrides específicos do projeto (configuração de hosts, secrets de CI, tasks customizadas) permanecem no repositório consumidor. O pacote fornece apenas a base reutilizável.
PROJECT_TYPE (Bedrock vs Native)
O comportamento do core se adapta ao tipo de projeto, definido pela variável de ambiente
PROJECT_TYPE:
bedrock(padrão) — estrutura Bedrock, comweb/appe WordPress versionado via Composer.native— instalação WordPress tradicional.
Defina no .env do projeto consumidor:
PROJECT_TYPE=bedrock
Valores inválidos fazem as tasks falharem cedo com mensagem explícita.
Sincronizar templates
O pacote expõe um binário do Composer (vendor/bin/sync-templates) — não é necessário copiar
nenhum arquivo para o projeto consumidor. Basta declarar os scripts no composer.json do
consumidor:
{
"scripts": {
"deploy:templates:sync": "sync-templates",
"deploy:templates:sync:force": "sync-templates --force"
}
}
E rodar a partir da raiz do projeto:
composer deploy:templates:sync # cria/atualiza apenas o que está ausente composer deploy:templates:sync:force # sobrescreve arquivos divergentes
O comando lê PROJECT_TYPE (do ambiente ou do .env) e sincroniza:
| Origem (no pacote) | Destino (no consumidor) |
|---|---|
templates/common/workflows/*.yml.example |
.github/workflows/*.yml |
templates/common/ddev-commands/ |
.ddev/commands/ |
templates/{type}/.gitattributes.example |
.gitattributes |
templates/{type}/ddev-commands/ |
.ddev/commands/ |
Por padrão, arquivos já existentes com conteúdo diferente são ignorados (preserva
customizações locais); use --force para sobrescrevê-los.
O binário usa o diretório de trabalho atual como raiz do projeto. Para rodar de outro lugar, informe
sync-templates --root=/caminho/do/projeto.
Tasks disponíveis
| Domínio | Tasks |
|---|---|
| Deploy | deploy:validate:env, deploy:version:report, deploy:update_code, deploy:upload_vendors, deploy:update_releases_log |
| Provisionamento | ee:provision, ee:provision:prepare, ee:provision:deploy, ee:provision:finalize, ee:site:create, ee:site:clean, ee:site:restart, ee:shell, ee:cron:create, provision:configure-deploy-target, provision:generate-shared-env, provision:setup-shared-wpconfig, nginx:custom-config |
| Backup / Restore | backup:run, backup:db, backup:files, backup:scripts, restore:latest, duplicati:backup:register, duplicati:backup:run |
| Inicialização | init:data, init:db, init:db:replace-urls, init:uploads, init:webp, ddev:generate-init-data |
| WordPress | wp:cache:flush, wp:core:update-db, wp:config:lock, wp:config:unlock |
Liste todas as tasks no consumidor com:
vendor/bin/dep list
Rastreabilidade de versão
Para registrar exatamente qual versão de pacote/templates está ativa, defina no consumidor/CI:
DEPLOY_PACKAGE_NAMEDEPLOY_PACKAGE_VERSIONDEPLOY_TEMPLATES_VERSION
Esses valores são exibidos pela task deploy:version:report no início do deploy.
Licença
MIT © Infografic
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-28