Isso é algo que eu tenho em mente há algum tempo, mas não consigo encontrar o método certo para fazê-lo.
Então, basicamente, estou trabalhando com 6 sites diferentes, todos rodando o Magento CE 1.9.2+
Nesses sites, estou usando várias extensões que eu e a equipe com quem trabalho desenvolvemos (aqui estamos falando de mais de 50 extensões) e o código para essas extensões é armazenado no Bitbucket. Portanto, não sou a única pessoa que gerencia essas extensões, somos três pessoas trabalhando nelas.
No momento, quando quero adicionar um recurso / corrigir um bug em uma dessas extensões, eis o meu fluxo de trabalho:
- Instale a última versão da extensão em um dos sites via Modman
- Corrija o erro / adicione um recurso / teste
- Copie manualmente as alterações para uma pasta local que contém todas as minhas extensões
- Confirme e envie via GIT desta pasta de extensão para o Bitbucket (1 repositório Bitbucket por módulo)
- Em seguida, a nova versão do módulo pode ser instalada via Modman
Nota importante: Estou usando o modman com cópia impressa aqui, sem link simbólico.
Meu maior problema foi destacado em negrito: quero poder pular esta etapa porque é uma grande causa de problemas (às vezes, alguns arquivos são esquecidos, copiar / colar incorretamente, envolve ação humana).
Então, como posso melhorar meu fluxo de trabalho para me livrar dessa etapa manual de copiar / colar? Estou aberto a sugestões aqui.
fonte
Submodules
recurso do git?Respostas:
Costumo seguir a seguinte abordagem, que é bastante independente da estrutura.
/path/to/my/module
No seu projeto, defina um repositório local para sua cópia local do módulo. Isso é para que seu projeto possa obter alterações não pressionadas do seu LFS.
Você pode, então, o compositor exigir seu ramo de desenvolvimento específico (desde que seus projetos
minimum-stability
permitam).Você se compromete
/path/to/my/module
,composer update namespace/module
no projeto, a vê-lo instalar e testar.Acho que essa abordagem funciona bem para os módulos M1 usando o https://github.com/Cotya/magento-composer-installer , pois a instalação com link simbólico pode ser um problema às vezes e faz com que você desista de adicionar novos diretórios ou caminhos que anteriormente não eram linkados por modman.
Links que podem interessar
Depuração
Use
composer require namespace/module dev-branch-name-here -vvv
para ver os ramos que você pode usar localmente.Verifique novamente que
minimum-stability
foi definidodev
no projeto em que você está instalando o módulo.Your requirements could not be resolved to an installable set
Encontrado lendo o comentário de Patrick Schwisow aqui .
Em suma, você pode atualizar o seu
composer.json
para forçá-lo a uma versão específica durante o desenvolvimento, fazê-lo ler como:fonte
path
repos tipo para os módulos do projeto que eu não vou reutilização e vou voltar a usar, em seguida, git ou packagist para módulos.Esse é o seu problema. Se você não pode alterar essa configuração para as implantações de sua loja, considere trabalhar em extensões compartilhadas em uma instância separada em que você usa o modman com links simbólicos.
Eu uso o compositor com o instalador do AOE para clonar os repositórios de extensão diretamente,
.modman
mas a instalação de módulos do Git com modman também funciona. De qualquer maneira, você pode trabalhar diretamente no repositório do módulo Git.fonte
Então, minha idéia aqui para você é começar a trabalhar com o compositor, mesmo para o Magento1. Se você possui seu próprio packagist , que não é muito difícil de gerenciar agora que o aws e o google cloud estão no lugar, ou você pode usar o packagist público. Você teria acesso "fácil" a versões mais recentes em suas lojas Magento1.
Isso significa que, quando uma versão mais recente for lançada, você poderá
composer update
e automatizará o processo de cópia para você.Dê uma olhada no https://github.com/Cotya/magento-composer-installer para Magento1 via compositor.
Com essa abordagem, você também pode trabalhar diretamente no repositório git na pasta vendor, se você o tiver configurado para copiar
.git
e, assim, for possível retornar as alterações aos seus repositórios sem fazer uma verificação separada. Porém, observe que você deve ter cuidado aqui e não se esqueça de saber em qual filial você está, caso contrário, poderá remover seu código (feito isso algumas vezes).fonte