gitignore를 사용한 지속적인 배포


12

Git으로 연속 배포를 수행 할 때 gitignore에서 무시 된 파일을 어떻게 처리합니까? 이러한 파일은 개인 정보 보호를 위해 무시되지만 (예 : GitHub와 같은 다른 원격 저장소로 푸시하지 않기를 원 하지만) 무시 된 파일이 연속 배포 저장소로 푸시되지 않으면 응용 프로그램이 실행되지 않습니다 (무시 된 파일이 소프트웨어가 올바르게 작동하는 데 필요합니다).

사람들은 일반적으로 어떻게이 일을합니까? 이 경우 Git이 파일이 무시되어 연속 배포에 가장 적합하지 않습니까?


2
나는 최소한의 기본적인 연구 노력을 보여주지 않기 때문에이 질문을 주 제외로 닫으려고 투표하고 있습니다.
Scant Roger

3
연구 노력이 부족하지 않습니다. OP는 gitignore 완벽하게 잘하는 것을 이해하는 것 같습니다 . 내가 보는 것은 XY 문제이지만 X와 Y가 모두 질문에 설명되어 있기 때문에 Doc은 OP의 실제 문제를 희망적으로 해결하는 적절한 대답을 작성할 수있었습니다.
Ixrec

1
@ScantRoger : 솔직히 말하면, 질문은 더 잘 쓰여질 수 있지만, 그렇게 심하게 투표 할 수있는 것은 아닙니다.
Doc Brown

답변:


14

해당 파일없이 소프트웨어를 실행하지 않으면 모든 종류의 배포, 수동, 자동 또는 연속, 모든 종류의 VCS 또는 심지어 VCS없이 문제가 발생합니다. 따라서 해당 파일없이 실제로 실행될 수 있도록 소프트웨어를 변경하십시오 (예를 들어, 파일이 누락 된 경우 일종의 "기본 매개 변수"로 가정 할 수 있음). 해당 파일의 "비공개"버전이없는 경우 대상 환경에 배포 단계의 일부로).

보안상의 이유로 버전 제어를 원하지 않는 서버에 로그온하기 위해 데이터베이스 신임 정보를 포함하는 파일과 같은 것에 대해 이야기하는 경우 해당 파일을 배치 환경에 한 번 , 아마도 수동으로 배치 해야합니다. 충분한 권한이 있거나 비밀번호를 알고있는 사람이 그러나 이것은 의도적 인 것이며 매일 새로운 버전의 소프트웨어를 배포하는 것을 막지 않아야합니다. 새 버전을 배포 할 때 해당 자격 증명 파일을 덮어 쓰지 않도록하십시오.


용량을 줄여도 vcs에서 체크 아웃하는 것이 빌드 및 실행하기에 충분하지 않은 경우 소스 트리가 불완전합니다.
Newtopian

@Newtopian : 이것은 의도적이고 정확할 수 있습니다 (내 예 참조).
Doc Brown

2

또 다른 옵션은 중요한 정보를 배포 도구 내부에 저장하는 것입니다. 그리고 별도의 개인 소스 저장소에 배치 도구 구성이 있습니다.

대상 머신에 민감한 데이터를 남겨두면 작동하지만 비트 로트가 발생할 수 있습니다-누군가 절차를 따르지 않고 머신 브레이크를 변경하고 아무도 올바른 설정을 기억하지 않습니다.

예를 들어 Saltstack에는 https://docs.saltstack.com/en/latest/topics/pillar/index.html있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.