2017-05-04 6 views
0

나는 초보자가 아니라 전문가도 아니며 질문이 있습니다. 우리는 네트워크 내에서 폴더로 나타나는 원격 저장소를 만들고 싶습니다. 폴더에는 실제로 프로덕션 방식으로 실행되는 대규모 레거시 ASP 응용 프로그램이 포함됩니다.운영 체제를 최신 상태로 유지하기 위해 GIT 사용

그런 다음 로컬 변경을 수행하고 이러한 네트워크 리포지토리에 커밋을 푸시하여 프로덕션 응용 프로그램을 동적으로 업데이트 할 수 있기를 원합니다.

우리는 이미 Github에 대한 레포를 보유하고 있으며 우리 개발자들은이를 포크하고 로컬에서 작업합니다 (우리는 대부분의 일상적인 작업을 위해 SmartGit을 사용합니다).

우리는 (Git을 사용하기 전에) 항상 변경된 파일을 대상 시스템 (프로덕션, QA 등)에 복사하는 프로세스를 가지고있었습니다 (앱이 거대하고 유산 적이기 때문에).

그러나 우리는 운영 시스템을 마스터로 체크 아웃 한 상태로 처리 할 수 ​​있다고 생각했습니다. 그런 다음 (적절하게 테스트 한 경우) SmartGit을 사용하여 운영 체제를 "밀어 넣고"변경 사항을 적용 할 수 있습니다.

나는 힘내 지식의 가장자리에 있지만, 이것이 쉽지 않거나 위험한 지 확실하지 않습니다.

우리는 Git을 운영 컴퓨터에 설치하고 싶지 않습니다. (Windows 2003을 실행하는 것으로 제한되어 있습니다. 알고 있습니다 ...) 로컬 시스템과 마찬가지로 원격 시스템을 다루고 싶습니다. Git이 설치되어 있습니다. 로컬 컴퓨터에서.

팁이나 제안이 있으십니까?

답변

1

팁 : 신경 쓰지 마세요.

리포지토리에만 푸시 할 수 있습니다. 이것들은 보통 작업 디렉토리가 전혀없는 .git에 일반적으로 존재하는 파일들만 포함합니다. 따라서 서버에서 실행할 수 없습니다. 서버의 노출 된 리포지토리에 푸시 한 다음 서버 자체의 베어 랜드가 아닌 로컬 리포지토리에 벌크 리포지토리를 복제/체크 아웃해야합니다 (git 내부의 수신 후크에서 수행 할 수 있음). 하지만 말했듯이 서버에 git를 설치할 수도 없습니다. 그래서 git push는 아무 것도하지 않습니다.

두 번째 옵션은 보유하고있는 스테이징/전개 머신에 서버 파일 시스템을 마운트하는 것입니다. 아마도 여러분은 git를 설치할 수있는 것일 것입니다. 그런 다음 git push을 해당 배포 시스템의 베어 레코드에 넣고 git hook을 실행하고 새로 밀어 넣은 것을 git이 아닌 서버 파일 시스템에 복사 할 수 있습니다.

세 번째 옵션은 로컬로 모든 것을 패키지화하고, tarball (또는, 내가 생각하기에, zip-ball ...)을 작성한 다음 서버에서 압축을 푸는 것입니다.

So. 자동화되고 지속적인 배포 => 좋은 아이디어. git => 훌륭한 아이디어 사용. git push을 직접 사용하십시오. 주로 제약 조건이 있습니다.