Java 기반 소프트웨어의 릴리스를 생성 해야하는 간단한 시나리오가 있습니다. 내가 수동으로 한 일은 다음과 같습니다.
1- 소프트웨어 빌드 2- "릴리스 디렉토리"에 필요한 모든 파일 복사 3- 파일 압축
이제 CI (jenkins)를 추가하여 빌드를 만들었습니다. 그런 다음 rsync를 사용하여 기본 설치 디렉토리 (마지막 빌드 포함)를 업데이트했습니다. RSYNC의 문제점은 타임 스탬프를 사용한다는 것입니다. 방금 새 버전을 만들었으므로 모든 타임 스탬프가 변경되었습니다. 바이너리 모드에서 파일을 비교하기 위해 할 수있는 일이 있습니까?
편집하다
이것이 내가 한 일입니다. 현재 src1과 src2는 같습니다. 유일한 차이점은 src2가 src1의 사본이므로 시간 소인입니다. 그런 다음 rsync는 모든 파일을 dst에 복사합니다. 나는 dst가 비어있을 것으로 기대했다.
rsync -av --progress --stats --compare-dest = .. / src1 / src2 / dst /
그래서 나는 다음을 시도했다. 동일한 타임 스탬프로 src1의 사본을 생성했으며 동일한 명령을 실행할 때 dst가 비어 있습니다. rsync가 타임 스탬프를 사용한다고 믿었습니다.
--checksum
것도 도움이되지 않습니다. 새 빌드에 필요한 모든 파일을 가져오고 있습니다.