셸 스크립트와 Rsync로 제작된 소형 배포기
그러나 때때로 우리 수중에 남겨진 프로젝트가 하나 있는데, 일부 낡은 물건이나 거대한 인프라 시설 전체가 있는데, 이것은 재구성에 있어서 매우 위험하다.
이런 프로젝트에서 배치 전략을 시작하는 것은 진정한 악몽이 될 수도 있다.나는 사람들이 처음부터 환경을 설정한 다음에 FTP 클라이언트를 FileZilla로 사용하거나 rsync와 scp 등 터미널 명령을 반복해서 사용해서 프로젝트의 최신 상태를 유지하는 것을 자주 본다.
이러한 구조를 고려하여, 나는 셸 스크립트와 rsync를 사용하여 매우 간단한 소형 배치기를 만들었다.물론, 이곳의 주요 기능은 로컬 프로젝트와 서버 사이에서 파일을 동기화하는 것이다.여러 개의 호스트를 추가할 수 있고 어느 정도 자동화할 수 있지만, 이것은 오늘날 우리가 가지고 있는 어떤 진정한 배치 기술과도 비교할 수 없습니다. (물론입니다.)사실 이곳의'배치자'라는 이름이 더 중요하다
그것이 진정으로 만든 것이 아니라 그것을 보완하려고 시도하는 것이 설명적이다.
Blabla Blabla가 더 이상 없습니다.
필요한 사항:
rsync 및 git가 설치된 *Unix 로컬 시스템입니다.
Rsync 및 SSH 연결이 활성화된 *Unix 서버입니다.
이러한 요구 사항 중 대부분은 *Unix 시스템의 기본 구성에 불과합니다.이제 다음 절차를 따르십시오.
https://github.com/felippe-regazio/sh-simple-deployer
deploy.sh
폴더를 프로젝트 루트 디렉터리로 복사합니다.declare -a default=(
[email protected]
/path/to/project/root/on/server
https://yourprojecturl.com
)
deploy
가 있는 deploy/_hosts.sh
에서 모드1st line
에 따라 ssh 연결을 추가할 수 있습니다.다른 포트를 통과해야 한다면, 이렇게 사용할 수 있습니다 [email protected]
.user@host
에서 user@host:port
를 프로젝트2nd line
에 추가해야 합니다.프로젝트의 절대 경로를 발견하려면 ssh로 서버에 접근하여 프로젝트 루트 폴더로 이동하고 absolute path
를 입력하십시오.루트 경로 찾기에 대한 참조로 filezilla 또는 GUI 클라이언트를 사용하지 마십시오.ON THE SERVER
에서 프로젝트 IP 또는 URL을 추가해야 합니다.배치원은 그것을 사용하지 않지만, 기능을 확장하거나 프로젝트의 위치를 알려 주어야 할 수도 있습니다.pwd
를 열고 메시지를 추가합니다.이 메시지는 스크립트를 실행할 때마다 표시됩니다.이 단계는 선택 사항입니다.3th line
파일에 대한 실행 권한을 줍니다.프로젝트 루트 디렉토리에서 터미널을 열고 실행하려면 다음과 같이 하십시오../deploy.sh
deploy/directories.txt
를 사용하여 실행할 수 있지만 설명에 명시된 대로From a systems perspective you don't need to launch a new shell by using
sh
. Instead ./scriptname.sh whilst in the same directory will work too. And if you have to be root sudo su - will work just as well.
처음 실행할 때 rsync는 로컬 프로젝트와 서버 프로젝트를 동기화합니다.현재 프로젝트의 일부 내용을 수정할 때 deDeployer를 실행하면 설정에 따라 수정된 파일만 동기화됩니다.에 로그 저장/배포/기록.
호스트에 새 항목을 추가할 수 있습니다.sh를 매개 변수로 호출합니다.예를 들어, 호스트에 다른 스토리지를 구성한 경우
./deploy.sh another
마지막으로 그것은 좋은 것과 낡은 것deploy/ignore.txt
일 뿐이다.그러나 이 스크립트는 기존 시스템의 배치 과정에 자동화와 표준화를 가져왔다.자술하다.md는github에서 더 많은 정보를 얻거나 언제든지 저에게 메시지를 보냅니다.다시 한 번 말하지만, 이것은 이상적인 현대 해결 방안이 아니다. 이것은 인프라 시설, 낡은 프로젝트, 나쁜 호스트 등의 문제를 해결하는 각본이다. 나는 너의 상황을 모르겠지만, 이것은 너에게 유용할 수 있다. 이것이 바로 중점이다.당신들의 관심에 감사 드립니다. 이것이 바로 모든 사람입니다.
Reference
이 문제에 관하여(셸 스크립트와 Rsync로 제작된 소형 배포기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/felipperegazio/a-tiny-deployer-made-with-shell-script-and-rsync-3djd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)