2010-11-24 6 views
2

웹 앱을 개발 중입니다.
jQuery 플러그인 (또는 jQuery 파일 자체)을 포함하는 경우 SCM 아래에있는 내 정적 디렉토리 아래에이 파일을 올바르게 제공해야합니다.SCM에 포함 된 코드를 넣어야합니까?

아무 것도 수정하지 않으려 고해도 좋겠습니까?
그리고 함께 제공 될 수있는 이진 파일 (그래픽 리소스)은 어떻게됩니까?

미리 조언 해 주셔서 감사합니다.

답변

1

일반적으로 내 리소스에 직접 외부 리소스를 추가합니다. 이렇게하면 배포가 쉬워지고 누군가 프로젝트에서이 파일의 버전을 변경하면 작성한 코드에 문제가 발생했을 때 어떤 일이 일어 났는지에 대한 명확한 감사 내역을 얻을 수 있습니다. 개발자는 이러한 외부 리소스를 수정하지 않는 것이 좋습니다.

git submodules와 같은 것을 사용할 수는 있지만, 과거에는 번거롭고 가치가 있다고 느끼지 못했습니다.

외부 소스의 바이너리 파일도 프로젝트에 체크인 할 수 있지만 매우 큰 경우 다른 방법을 고려할 수도 있습니다.

+0

감사합니다. Submodules는 나에게 겁을 준다, 솔직히! – Agos

0

이유 하지 당신의 repo에 jQuery를 같은 외부 자원을 넣어 많은이 없습니다 : 당신이 jQuery를에서 풀다운 경우

  1. 때마다 체크 아웃 또는 배포, 당신은 덜 제어 할 수 있습니다 사용중인 버전. 이는 대부분의 타사 라이브러리에도 적용됩니다. 코드를 테스트하지 않고 라이브러리를 업그레이드하지 않고 무언가가 깨 졌는지 확인하는 것이 좋습니다.
  2. 저장소를 체크 아웃 할 때 항상 사이트의 전체 사본을 사용할 수 있으며 사용할 수 없게 된 자원을 찾으러 갈 필요가 없습니다.

jQuery와 이미지와 같은 크기가 작은 경우 (파일 크기면에서) 공간을 정말로 염려하지 않는 한 추가 할 것입니다.

0

에 따라 다릅니다.

이러한 인수는 원래 위치에서 당겨 시스템 및 하지에 라이브러리의 사본을 가진 관련이있다. 찬성

인수 :

  1. 그것은 당신의 프로젝트에 필요한 모든은 다른 사람이 개발 팀에 합류 한 장소에서 발견 될 수 있도록 할 것이다. 나는 무언가를 작동시킬 수 있도록 올바른 버전의 라이브러리를 찾기 위해 주위를 나서야 만했던 횟수를 잃어 버렸습니다.

  2. 라이브러리를 수정하면 소스 제어 버전을 변경할 수 있으므로 새 버전이 나왔을 때 소스 컨트롤의 병합 도구를 사용하여 편집 내용이 누락되지 않도록 할 수 있습니다. 에 대한

인수 :

  1. 그것은 모든 사람들이 로컬 라이브러리의 사본이 의미 할 수 - 당신이 중앙 서버에 제 3 자 도구를지도하지 않는.

  2. 타사 도구를 중앙 서버에 매핑하고 배포 스크립트에 포함시키지 않는 한 배포가 문제가 될 수 있습니다.

+0

배포 할 때마다 복사본을 가져 오는 것이 아니라 실제로 손상에 대한 확실한 처방이 될 것입니다. – Agos

+0

@Agos - 좋은 지적입니다. 나는 대답을 업데이트 할 것이다. – ChrisF

2

내 생각으로는 응용 프로그램을 올바르게 실행하는 데 필요한 모든 것이 관리되어야한다는 것입니다. 여기에는 제 3 자 코드가 포함됩니다.

SCM에 포함시키지 않으면 프로덕션 시스템에서 어떻게 올바르게 배포됩니까? 확실한 다른 방법이 있다면, 괜찮습니다. 그렇지 않으면 성공적인 배포는 사람들이 자동화 된 저 위험 "버튼 누르기"절차 대신 모든 올바른 일을하는 것을 기억하는 문제입니다.

SCM 또는 이와 유사한 방식으로 관리하지 않는 경우 개발자가 개발하고 테스트하는 버전이 동일한 지 어떻게 확인할 수 있습니까? 그리고 그들은 생산과 동일합니까? 알지 못하는 버전 차이로 인한 문제를 디버깅하는 것은 끔찍할 수 있습니다.

+0

오 예. 나는이 질문을 생각하게 만든 특정 프로젝트의 유일한 프로그래머이지만, 당신은 아주 좋은 지적을 제기합니다! 버전 지옥 +1 +1 – Agos

관련 문제