2014-07-20 8 views
1

PHP + HTML + CSS + JS로 앱을 제작하고 있습니다./나는 SCSS를 사용하고 Git 및 Grunt/Sass/Composer를 사용하여 컴파일 된 자산의 버전 제어 및 생산 배치를 관리하는 방법은 무엇입니까?

  • 를 업데이트

    • 내 PHP 프레임 워크를 설정하는 작곡가에 따라 달라집니다 그래서 나는
    • 가 난 CSS를 폴더로 컴파일됩니다 SCS들에 대한 폴더가 :이 설정입니다 내가 준비/I가 git clone (또는 git pull) 필요한 지점 (개발 또는 마스터) 생산에 배포 할 때 그런트를 통해 컴파일 (및 기타 물건)을 자동화
    • 전에서 힘내

    으로 모든 것을 추적하고 있습니다 온라인 Git repo.

    컴파일 된 CSS 및 설치된 PHP 모듈 (작성자를 통해)을 포함하여 Git과 거의 모든 것을 추적하기 때문에 배포가 쉬워졌습니다. 온라인 리포에서 모든 작업이 끝났습니다.

    하지만 소스 파일 (CSS의 경우 SCSS, PHP 모듈의 경우 composer.json/composer.lock)을 추적해야한다고 생각하기 때문에 Git의 모든 내용을 추적하는 것이 좋지 않습니다.

    지금 내 질문은 :

    • 그것이 내가 CSS 컴파일 된 파일 만 SCSS 파일을 추적해서는 안 맞습니까? 나는 모든 파일을 추적하지 않는 경우 PHP 모듈
    • 같은
    • 는 작곡가
    • 를 통해 설치하고 난 그런트/나침반/작곡가가 모든 시스템 (준비/생산) 및 그 아무튼에 설치되어 있어야합니다 git pull를 통해 배포 앱의 도구가 아니라 도구를 만드는 것으로 생각할 때 내게 느낌이 들다.
    • 배포 용으로 Grunt/Compass/Composer (또는 유사한 항목)와 함께 Git을 사용하는 것이 가장 좋은 방법은 무엇입니까?

    어떤 조언이나 제안을 주시면 감사하겠습니다.

  • 답변

    2

    (우리가 사용하는) 하나의 대답은 연속 통합 시스템에서 자산 편집을하는 것입니다. 우리는 이것이 우리의 스테이징 환경이라고 생각합니다.
    여기에서 컴파일 된 파일을 프로덕션으로 복사합니다 (프로덕션에서는 생성하지 않습니다).

    경우에 따라 개발자가 로컬로 컴파일 할 수 있도록 허용하고 (개발 프레임 워크에서 개발을 요구하는 경우) 리모컨으로 푸시 할 때 해당 파일/디렉토리를 무시할 수 있습니다. 이것은 본질적으로 bundler가 처리하는 Ruby on Rails gem 파일에 사용하는 프로세스입니다. css/js 자산과는 조금 다르지만 비슷한 개념의 컴파일되거나 변경된 파일이 포함됩니다.