git 자동 - 힘내 푸시 프로덕션(FTP)




배포 bitbucket (13)

엄밀히 말하자면 그건 자식이 아닙니다. 그러나 소스가 컴파일이나 처리가 필요하지 않은 것, 예를 들어 HTML과 자바 스크립트 파일 등으로 구성된 웹 사이트라고하면 웹 서버에 복제본을 가지고 서버에서 git pull 을 사용하여 보관할 수 있습니다 그것은 최신입니다. 참고, 나는 귀하의 웹 서버가 자식 디렉토리 등을 숨길 것입니다. 보안 문제의 시작일뿐입니다.

어떤 종류의 컴파일이나 처리가 있다면 Ant , Maven , BuildR , SBT 등을 BuildR .

GIT 저장소를 프로덕션 (FTP 서버)으로 푸시하는 쉬운 방법이 있는지 알고 싶습니다. 감사


Mac에서 Transmit을 사용하고 있다면 다음 git-tranmit 스크립트 ( https://gist.github.com/379750 )를 권하고 싶습니다. DockSend를 사용하여 마지막으로 업데이트 된 파일 만 전송합니다. DockSend에 익숙하지 않은 경우 http://www.panic.com/blog/2010/11/15-secrets-of-transmit/ 확인 http://www.panic.com/blog/2010/11/15-secrets-of-transmit/ .

설정:

  1. cp git-transit / usr / sbin /.
  2. cd / usr / sbin
  3. chmod + x git-transmit
  4. 라이브 앱 설치 드롭 보내기
  5. Git 저장소에서 git-transmit를 실행한다.

GUI를 원한다면 SourceTree를 사용하면 위에서 언급 한 git-ftp를 사용하는 사용자 정의 액션을 쉽게 설정할 수 있습니다. Git 저장소를 FTP푸시 할 때의 설정 (Mac의 경우)에 대한 간단한 설명


프로덕션 환경에 코드를 추가하는 경우 RPM 패키지와 같은 "설치 프로그램"을 사용하여 코드를 설치하는 것이 좋습니다. 그렇게하면 버전 스탬프가 찍히고 설치 코드를 사용하여 프로덕션 코드에 대한 업데이트를 지원할 수 있습니다. Git은 실제로 프로덕션 설치를 지원하도록 설계되지 않았으며 코드 자체의 변경 사항을 추적하기위한 것입니다.

어떤 경우 든 .RPM (또는 EXE 또는 기타)을 빌드하면 프로덕션 시스템에 FTP로 전송하고 다른 패키지처럼 설치할 수 있습니다.


Deployhq.com 을 매력과 같이 사용할 수 있습니다. 저장소 및 FTP 계정을 설정하는 것만이 필요합니다.

현재 다음과 같은 버전 제어 시스템이 있습니다.

힘내, 서브 버전, 의욕적.

리포지토리 호스팅

  • GitHub
  • 비트 버켓
  • GitLab
  • 코드베이스


Ruby 스크립트가 있습니다. Ruby git-FTP 또는 SSH통해 배포 합니다. FTP 또는 SSH를 통해 git repo에서 변경된 파일 만 업로드합니다.

다른 대답에서 언급했듯이, 비슷한 일을하는 Python git-ftp.py 스크립트 가 있습니다.

그리고 여기에 git-ftp 의 쉘 스크립트 버전이 있습니다.

또한 git-deploy 라는 Ruby gem 프로젝트가 있습니다.이 프로젝트를 사용하면 git push 명령을 사용하여 git remote를 통해 Heroku 및 Azure 서비스와 동일한 방식으로 사용자 정의 배포를 설정할 수 있습니다. 이 경우 FTP를 통해 배포하기 위해 사용자 지정 방법을 작성해야 할 수도 있습니다. 프로덕션 서버에 대한 SSH 액세스가 있다고 가정합니다.


FTPloy를 시도 할 수 있습니다 ...

https://ftploy.com

"GitHub 또는 Bitbucket으로 변경 사항을 푸시하십시오."

"서버에 자동으로 변경 사항 배포"

무료로 사용해 볼 수있는 프로젝트가 하나 있습니다. 나는 현재 작은 PHP 웹 사이트를 사용하고 있으며 꽤 잘 작동합니다. 사이트의 몇 가지 버그이지만 현재 진행중인 프로젝트이므로 적어도 작업 중입니다.




리모컨으로 추가 한 다음 밀어 넣을 수는 있지만 코드를 푸는 것만으로는 충분하지 않으며 작동중인 트리와 병합해야합니다. 가장 쉬운 방법은 다른 방향으로 이동하여 서버에 작업 트리를 가져 와서 가져 와서 병합하는 것입니다.


일부 도구는 최근에 Git 위키 에 추가되었습니다.

르네 모저 (René Moser)의 git-ftp 는 Git 방식의 FTP를 수행하기위한 간단한 쉘 스크립트입니다. git-ftp.sh를 사용하여 마지막 업로드 이후 변경된 Git 추적 파일 만 FTP 서버에 업로드하십시오. 이렇게하면 시간과 대역폭을 절약 할 수 있습니다. git-ftp.sh는 다른 브랜치를 가지고 플레이하는 경우에도 다른 파일을 알고 있습니다. 일반 FTP 클라이언트는 그렇게 할 수 없습니다.

git-ftp by Edward Z. Yang은 FTP를 통해 Git 저장소에 파일을 업로드하기 위해 Python으로 작성된 간단한 스크립트로 새 파일을 전송하고 오래된 파일 만 제거합니다.



Sidenote : 근대 망할 놈 (> = 1.6.6 )을 사용하면

git checkout test

( 'origin / test'가 아닌 'test'가 아니라는 점에주의하십시오.) 마법 DWIM -mery를 수행하고 로컬 브랜치 'test'를 생성하십시오. 업스트림은 'origin / test'원격 추적 지점이 될 것입니다.

git branch 출력에서 * (no branch) 는 "detached HEAD"상태 (커밋 할 헤드를 직접 가리키고 일부 로컬 브랜치에 대한 심볼 참조가 아님)에서 이름없는 브랜치에 있다는 것을 의미합니다. 이 이름없는 브랜치에 대해 커밋을했다면, 항상 현재 커밋에서 로컬 브랜치를 만들 수 있습니다 :

git checkout -b test HEAD




git ftp push