같은 GitLab 서버에서 CI 러너?


12

회사에서 GitLab 서버를 설정하고 있으며 이제 GitLab CI를 추가하고 있습니다.

이 작업을 시작하기 전에 GitLab 및 GitLab CI에서 사용하는 동일한 서버에서 러너를 실행하는 데 어떤 단점이 있는지 이해하고 싶습니다.

보안 문제가 있다고 읽었지만 내부적으로 만 사용하므로 이것이 문제가 될 수 있다고 생각하지 않습니다.

뭔가 빠졌습니까?

답변:


11

다음 상황을 상상해보십시오.

  • 내부 개발자는 회사에 해를 끼치고 싶어합니다 (상사는 아내와 함께 자고 있기 때문에 임금이 낮다고 생각하기 때문에 이유는 중요하지 않습니다). 지 웁니다. 다음 커밋에서 놀랍게도 프로젝트의 모든 소스 코드가 손실됩니다 (그러나 백업을 수행하고 테스트 했습니까?)

  • 또는 동일한 개발자가 저장소의 백업이 동일한 머신에 구성되어 있음을 알 수 있습니다. 그는 단위 테스트를 통해이 구성을 변경하여 백업에 다른 저장소가 포함되고 백업이 유지되는 1 개월 동안 대기합니다. 이제 모든 백업이 손상되었으므로 서버에서 소스 코드를 지우는 단위 테스트를 수행 할 수 있습니다.

  • 또는 인턴은 소스 코드를 경쟁 업체에 판매하려고합니다. 액세스를 신중하게 구성하여 작업에 필요한 것만으로 제한했습니다. 동시에, 그는 단위 테스트를 통해 저장소 자체에 무제한 액세스 할 수 있으며 완전한 덤프를 수행 할 수 있습니다.

단위 테스트가 제한된 권한의 컨텍스트에서 실행되고 테스트에 필요한 디렉토리 및 파일 이외의 항목에 액세스 할 수없는 경우 CI 서버와 서버를 혼합하여 저장소를 유지하는 것은 실제로 위험합니다.

또 다른 문제는 버전 제어 서버가 빠르다는 것입니다. 동일한 시스템에 설치된 CI 서버는 커밋을 느리게 할 수 있습니다.


8
우리는 3 명의 개발자입니다. 우리 중 누군가가 회사에 해를 끼치고 싶다면 수천 가지 방법으로 그 일을 할 수 있습니다. 고마워요!
Fez Vrasta

추신 : chroot는 어떻습니까? 프로세스를 안전하게 만드는 데 사용할 수 없습니까?
Fez Vrasta

4
@FezVrasta : 보안이 문제가되지 않거나 성능에 문제가 없다면, 별도의 머신을 보유 할 수있는 유일한 이점은 미래의 확장 성입니다. 그러나 솔직히 확장 성 문제가 나타나기 전에 변경을 수행하면 조기 최적화와 유사하게 보입니다.
Arseni Mourzenko

@FezVrasta : "chroot는 어떻습니까? 프로세스를 안전하게 만드는 데 사용할 수 없습니까?" -나는 유닉스 보안에 그 질문에 대한 충분한 기술이 없습니다.
Arseni Mourzenko

0

git에 대한 "알고있는"중앙 서버가 없기 때문에 다른 소스 코드 제어 시스템과 마찬가지로 나쁘지 않습니다.

외부의 git 서버에 대한 git 서버의 자동 syk가있는 경우 (테스트 된) 소규모 회사 의이 설정에 대해서는 걱정하지 않을 것입니다.

이상적으로 개발자가 오프셋 서버 git 서버로 변경 사항을 푸시 한 다음 CI 서버가 오프셋 서버에서 요금을 가져 오는 것을보고 싶습니다.이 방법으로 모든 체크인이 완료되면 오프 사이트 서버가 테스트됩니다.

개발자가 시간을 절약하기 위해 항상 온 사이트 서버에서 가져와도 문제가되지 않습니다.


1
2 대의 서버가 필요한 경우 ... 왜 2 번째 서버에서 러너를 실행하지 않아야합니까?
Fez Vrasta

@FezVrasta, " 외부 서버"는 git 호스팅을 판매 할 사람이라면 누구나 소유 할 수있는 서버 일 필요는 없습니다. 또한 인터넷을 통해 가져 오면 속도가 느려집니다.
Ian

1
회사를 위해 설정하고 있으며 자체 서버를 사용하고 있습니다.
Fez Vrasta
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.