2017-11-28 8 views
1

.gitignore 파일을 가지고있는 git 프로젝트를 체크 아웃하는 젠킨스 파이프 라인이 있습니다. .gitignore에 정의하지 않고 git 파일을 무시하십시오.

file1.txt 
src/ 
.gitignore 

는 이제 젠킨스 파이프 라인은 작업 영역에서 스크립트를로드합니다 :

file1.txt 
src/ 
.gitignore 
script.sh 

이 문제가 많은 프로젝트를 위해 일어날 것 이 내 작업 영역의 콘텐츠입니다. 각 프로젝트의 .gitignore에는 script.sh을 넣을 수 없습니다. (나는 그것이 가능하다고 알고 있지만 임시 해결책으로이 참조)

거기에 몇 가지 우리가 자식 말할 것이다 우리의 파이프 라인 내에서 실행할 수 있습니다 git 명령을 이 +에 다른 물건을 무시합니다 (script.sh 무시를 .gitignore).

우리 스크립트는 git commits을 수행 할 것이므로 .gitignore을 편집하지 않고도 스크립트를 repo에 두지 않으려합니다.

답변

0

커밋하기 전에 다음 스크립트를 실행할 수 있습니다.

echo script.sh >> .git/info/exclude 

.git/정보/단지 .gitignore 같은 행위를 제외하지만 로컬 저장소에 영향을 미칠 것입니다 -이 파일에 대한 변경 사항 커밋 할 수 없습니다.

+0

this page의 하단에있는? – DenCowboy

+0

Jenkins 빌드 –

+0

의 일부로 스크립트를 실행해야합니다. 내 자신의 .git/info 경로를 만들 때 작동합니다. 내 젠킨스 작업 공간에서 나 혼자서 이것을 만들어야하는 이유는 무엇입니까? 그것은 단지 로컬로 복제 할 때 기본적으로 존재합니다. – DenCowboy

0

잠재적으로 스파 스 체크 아웃을 수행 할 수 있습니다. 이 작업 환경에 포함 할 내용을 로컬에서 정의하는 데 사용됩니다. 즉, 리모컨에 영향을주지 않습니다.

당신은 파일 후 쉘 스크립트에서 다음 (등)을 실행해야 할 것 존재 : "/이 *"가 포함되어있는 동안

git config core.sparsecheckout true 
echo "!script.sh" > .git/info/sparse-checkout 
echo "/*" >> .git/info/sparse-checkout` 

두 번째 줄은 자식 활동에서 script.sh 제외 나머지 파일들.

단일 ">"는 원하는 내용이 아닌 파일 내용을 덮어 쓰는 것을 의미합니다. 추가하려는 경우 double을 사용하십시오. 스파 스 체크 아웃에 대한

문서는 내가 로컬 체크 아웃 후 파일을 볼 수 있지만 체크 아웃 후 젠킨스에

관련 문제