jenkins 에서 rsync 를 이용한 파일 배포

jenkins 에서 git, scp 를 이용한 파일 배포를 rsync 를 이용한 스크립트로 변경했다. 각 서버의 ip는 servers.dat 파일에 지정되어 있고 아래와 같은 형태이다. servers.dat 파일을 쉘 스크립트에서 읽어들인 후 각 서버로 rsync 를 이용해 배포하게 된다. rsync 를 이용하기 위해서는 각 서버에 jenkins 서버의 ssh 키가 미리 등록되어 있어야 한다. 동기화 때 제외될 디렉토리와 파일을 […]

Read More

jenkins 에서 git, scp 를 이용한 파일 배포

jenkins 를 이용해 github webhook 을 이용해 배포를 자동화하는 것을 지난 번에 테스트했다. 이번엔 배포 스크립트에 기능을 좀 더 추가하여 git 을 이용해 수정된 파일의 목록을 구하고 이 파일들만 서버에 배포하는 스크립트를 테스트해본다. 일반적으로 전체 파일을 scp나 rsync 를 이용해 배포하게 되는데 파일이 많을 경우 배포에 시간이 오래 걸릴 수 있기 때문에 수정된 파일만 목록을 […]

Read More

jenkins 와 github webhook 연동

소스코드는 git 과 github.com 을 이용해 관리 중이다. jenkins를 이용해 github 에 push 됐을 때 git pull 명령을 실행하도록 github.com webhook 연동을 테스트 했다. 우선 jenkins 에서 테스트 프로젝트를 추가하고 아래와 같이 설정했다. 1. jenkins 설정 jenkins 와 github.com webhook 을 연동하기 위해서는 GitHub Integration Plugin 플러그인을 먼저 설치해야 한다. jenkins 설정을 마친 후 github.com […]

Read More

git archive 에서 특정 파일 제외하기

git를 이용해 버전관리를 하면서 배포파일을 만들 때 압축을 하면 꼭 .gitignore 파일이 포함되는데 이게 너무 보기 싫어서 압축 때 이걸 제외하는 방법을 찾아보니 gitattributes 를 이용하면 가능하다고 해서 한번 테스트를 해봤다. 그랬더니 역시나 가능했다. 진작에 찾아보고 했더라면 좋았을 텐데.. 왜 무시했을까? 우선 .gitattributes 파일을 레파지토리에 생성해 준다.  .gitignore 파일과 동일한 위치에 생성하면 된다. 그런 다음 아래의 내용을 .gitattributes […]

Read More

git에서 특정 파일만 추출하기

언제나 시작은 사소한 것에서 비롯된다. 이 코멘트를 보고 이전부터 한번 해봐야지 생각했던 것을 심신이 지친 지금 시도를 해보고야 말았다. 스킨 같은 거 만들고 나면 압축을 해야 하는데 리눅스에서는 tar 를 사용하면 간편하지만 zip 형식으로는 압축이 안돼서 혹시 git 로는 특정 파일, 디렉토리만 zip 으로 압축해서 추출하는 방법이 없을까 고심을 했다. git archive 명령어를 알게 됐기 […]

Read More