여러 설치에서 사용자 정의 모듈 관리


19

여러 사이트에 사용되는 일부 사용자 지정 모듈이 있습니다. 클라이언트 전용이기 때문에 기여 된 모듈로 배포 할 수 없으며 기여한 모듈에서는 작동하지 않는 것으로 가정합니다.

나는 이것을 처리 할 수있는 다음과 같은 가능성에 대해 알고 있습니다.

  • 복사하여 붙여 넣습니다. 모든 설치에서 모듈을 최신 상태로 유지하기가 어렵습니다.

  • 단일 다중 사이트 설치가 있지만 이것이 항상 가능한 것은 아닙니다.

  • git 서브 모듈을 사용하지만 불쾌 할 수 있습니다. 업데이트하는 것을 잊어 버리고 항상 지원되는 것은 아닙니다 (예 : Pantheon)

  • Drush는 일반적인 git 저장소에서 스크립트를 확인합니다. 이를 위해 AFAIK는 전체 사이트에 대해 drush make를 사용해야하며 현재는 사용하지 않습니다.

  • http://drupal.org/project/fserver . 나는 그것을 아직 시도하지 않았으며, 누군가가 충분히 안정적인지 알고 있습니까? 프로젝트 설명은 유망하지 않으며 7.x 버전이 없습니다.

더 좋은 거 있어요? 무엇을 선호하고 왜?


이러한 일을하는 새로운 방법은 앱을 이용하는
mojzis

답변:


10

Drush의 메이크업 방법, 당신은 이미 언급 한 바와 같이, 우리 팀이 사용하고있는 버전입니다.

현재 사이트에 drush make를 사용하지 않더라도 drush 가 기존 사이트에서 make 파일을 생성 하는 drush make-generate 를 제공하려면이 워크 플로우로 이동하는 것이 비교적 간단해야합니다 . 따라서 새로운 사이트에만 가치가 있다고 느끼지 않아도됩니다. :)


감사합니다. 귀하의 답변을 수락하기로 결정했습니다. 나는 많은 사용자 정의 모듈이있는 대규모 프로젝트 에서이 문제를 가장 잘 다루는 방법을 알아 내고이를 사용하기 전에 동료를 설득하는 데 익숙해 져야합니다. 예를 들어 버전을 업데이트하는 가장 좋은 방법은 사이트를 다시 작성하는 것입니다.
Berdir

2
나는 하나 :) 쓴, 그래서 모든 자원을 가지고 있지 않았다 drupal.stackexchange.com/questions/33403/... 물론을, 당신이 원한다면 더 깊은 질문을 코멘트로 주시기 바랍니다. :)
Letharion 2016 년

1

모든 사이트가 동일한 서버에있는 경우 symlink중앙 위치에서 모듈을로드하거나 rsync여러 서버를 처리하는 데 사용할 수 있습니다.

이렇게하면 파일 배포 문제를 해결할 수 있지만 여전히 업그레이드를 실행해야합니다. drush모든 사이트에서 하나씩 업그레이드를 호출하는 간단한 스크립트와 함께를 사용하여 자동화 할 수 있습니다 .


0

거의 모든 솔루션을 거의 보는 것처럼 보입니다. 내가 그것을 읽을 때, 먼저 내 마음에 떠오르는 것은 다른 두 가지 솔루션과 같 rsync거나 symlink다시 유지하는 것이 편안하지 않습니다.

그런 다음 git 하위 모듈과 실제로 좋은 조합 인 Git Deploy 모듈에 대해 기억하십시오 .

나는 아직이 아이디어를 시도하지는 않았지만 그것이 효과가 있거나 적어도 자신의 시스템을 위해 그것을 해킹하는 방법에 대한 단서를 줄 수 있습니다.


Git deploy는 contrib 모듈의 버전 정보를 제공하지만 contrib 모듈이 없으므로 도움이 될 것이라고 생각하지 않습니다.
Berdir

0

각 기여 또는 사용자 정의 모듈이 별도의 분기 (하위 모듈이 아닌)에있는 모든 기여 / 사용자 정의 모듈에 대해 별도의 git 저장소를 사용합니다.

다음은 git merge 작동 방식입니다.

석사

      <-- custom
        <-- custom module 1
        <-- custom module 2    

      <-- contrib
        <-- contrib module 1
        <-- contrib module 2     

마스터-> 릴리즈

분기를 업데이트하는 bash / drush 스크립트



흠. 따라서 본질적으로 다른 사이트를 원격으로 추가하고 거기에서 사용자 지정 모듈 분기를 가져올 수 있습니다. 그것은 효과가 있지만 상대적으로 복잡합니다.
Berdir

0

Git 대신 SVN을 사용하여 맞춤형 개발 모듈을 저장합니다. localhost에서 변경 사항을 커밋 한 후 미리 정의 된 서버 위치에서 "svn update"명령을 실행하는 bash 스크립트를 실행하면됩니다. 새 위치에 모듈을 배포 할 때마다 bash 스크립트를 업데이트합니다. 실제로 간단한 설정이며 번거 로움없이 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.