2014-09-09 3 views
1

필자는 자신 만의 작성기 패키지를 개발할 때 올바른 개발 워크 플로를 파악하려고합니다. composer.json을 만들고 Packagist에 패키지를 가져 오는 방법을 알고 있습니다. 그건 문제가 아니야.올바른 작성자 패키지 + 힘내 개발 워크 플로우

내가 Packagist에 추가 한 간단한 PHP 클래스가 있다고 가정 해 보겠습니다. 버그 수정, 새로운 기능 등을 변경할 준비가되면 어떻게해야합니까?

로컬 개발 환경에 기존 패키지 composer install을 간단히 입력하고 vendors 디렉토리에 패키지를 직접 변경합니까? 그렇다면 그 디렉토리는 복제 된 git repo가 ​​아니므로 변경 사항을 커밋하고 푸시하는 방법은 무엇입니까?

또는 VCS 및 내 복제 된 git repo를 가리키는 사용자 지정 로컬 리포지토리를 사용하여 임의의 로컬 디렉터리에 대해 복제 한 다음 composer install을 개발 환경에 복제합니까? 그렇다면 로컬 vendors 디렉토리가 아닌 저장소에서 변경을 수행한다고 가정합니다. 그렇다면 개발 환경을 업데이트 상태로 유지하려면 어떻게해야합니까? 패키지에있는 파일을 저장할 때마다 심각하게 composer update을 수행해야합니까?

또한 작곡가는 패키지의 버전 번호가 변경된 것을 확인한 경우에만 업데이트를 수행하므로 내 패키지 composer.json을 직접 편집하고 버전 관리를 통해 개발 환경을 업데이트 할 수 있습니다. . 그리고 이것은 내가 구원을 쳤을 때마다 일어날 것입니다.

워크 플로우와 같이 보일 것 같습니다. 내가 여기서 무엇을 놓치고 있니? 로컬 개발 환경에서 Composer를 사용하여 다른 종속성이 제대로로드되도록하고 중요 패키지를 복제 된 git 저장소에 남겨 두어 변경 사항을 적용 할 수있게하는 것이 중요합니다.

p.s. - 내 패키지가 프레임 워크와 관련이 없다고 가정합니다. Laravel이나 Symfony에만 국한되지는 않습니다. 일반적인 PHP 패키지입니다.

+1

워크 플로우 개발과 관련하여이 질문은 논점이없는 것 같습니다. –

+0

... 그러한 질문을하는 더 적절한 장소? –

+0

클로저에게 FYI의 질문은 "소프트웨어 개발에 고유 한 실질적인 문제"라고 할 수 있습니다. (http://stackoverflow.com/help/on-topic) –

답변

0

분명한 대답은 :

당신은 그것의 버전 관리 시스템에서 해당 패키지를 체크 아웃 원하는 버그 수정이나 기능을 추가, 결과를 커밋하고 새 버전을 태그.

최상의 결과를 얻으려면이 작업을 별도로 수행해야합니다. 사용 가능한 패키지 주위에 코드의 인프라가 있다고 가정하지 마십시오. 패키지가 의도 한 기능을 제공하는지 테스트하고 더 큰 응용 프로그램 내에서 패키지를 테스트 할 수없는 경우 남아있는 것은 다음과 같습니다. 자동 테스트를 작성합니다. 코딩의 불쾌한 동그라미를 경험하고, 커밋하고, 태그를 추가하고, 업데이트하고, 테스트하고, 여전히 깨졌을 가능성이 있습니다 ... 코딩 ...

+0

어떻게 패키지를 개발 프로젝트에''설치합니까? ''실생활에서 기능 테스트를 할 수 있고 여전히 프로젝트를 복제 된 git repo로 유지할 수 있습니다. 변경 사항을 적용하고 푸시? –

+0

또한 내 프로젝트가 의존하는 다른 패키지는 무엇입니까? 테스트를 위해 패키지를 가져 오기 위해 어떤 종류의 Composer를 설치해야합니다. –

+0

Composer는'--prefer-source'를 사용하여 패키지를 실행하면 패키지를 복제합니다. 그러나 거기에서 변화하고 커밋하는 것은 내가 "고립 된 개발"이라고 부르는 것이 아닙니다. – Sven

관련 문제