Basic TravisCI Information
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
TravisCI는 Github, Bitbucket, Assembla 및 Gitlab과 같은 다양한 git 플랫폼과 직접 통합됩니다. 사용자는 TravisCI가 통합할 리포지토리에 접근할 수 있는 권한을 부여하라는 요청을 받습니다.
예를 들어, Github에서는 다음과 같은 권한을 요청합니다:
user:email
(읽기 전용)
read:org
(읽기 전용)
repo
: 공개 및 비공식 리포지토리와 조직에 대한 코드, 커밋 상태, 협력자 및 배포 상태에 대한 읽기 및 쓰기 권한을 부여합니다.
TravisCI에서는 다른 CI 플랫폼과 마찬가지로 리포지토리 수준에서 비밀을 저장할 수 있으며, 이는 암호화되어 저장되고 빌드를 실행하는 머신의 환경 변수에 복호화되어 푸시됩니다.
비밀이 사용 가능한 브랜치를 지정할 수 있으며(기본값은 모두) TravisCI가 로그에 나타날 경우 값을 숨겨야 하는지 여부도 설정할 수 있습니다(기본값은 숨김).
각 리포지토리에 대해 TravisCI는 RSA 키 쌍을 생성하고, 개인 키를 보관하며, 리포지토리에 접근할 수 있는 사람들에게 리포지토리의 공개 키를 제공합니다.
하나의 리포지토리의 공개 키에 접근하려면:
그런 다음, 이 설정을 사용하여 비밀을 암호화하고 이를 .travis.yaml
에 추가할 수 있습니다. 비밀은 빌드가 실행될 때 복호화되며 환경 변수에서 접근할 수 있습니다.
이렇게 암호화된 비밀은 설정의 환경 변수 목록에 나타나지 않는다는 점에 유의하세요.
이전과 같은 방식으로, TravisCI는 파일을 암호화한 다음 빌드 중에 복호화할 수 있도록 허용합니다:
Note that when encrypting a file 2 Env Variables will be configured inside the repo such as:
Travis CI Enterprise는 Travis CI의 온프레미스 버전으로, 귀하의 인프라에 배포할 수 있습니다. Travis CI의 '서버' 버전이라고 생각하십시오. Travis CI를 사용하면 원하는 대로 구성하고 보안할 수 있는 환경에서 사용하기 쉬운 지속적 통합/지속적 배포(CI/CD) 시스템을 활성화할 수 있습니다.
Travis CI Enterprise는 두 가지 주요 부분으로 구성됩니다:
TCI 서비스(또는 TCI Core Services), 버전 관리 시스템과의 통합, 빌드 승인, 빌드 작업 예약 등을 담당합니다.
TCI Worker 및 빌드 환경 이미지(운영 체제 이미지라고도 함).
TCI Core 서비스는 다음을 요구합니다:
PostgreSQL11(또는 이후 버전) 데이터베이스.
Kubernetes 클러스터를 배포할 인프라; 필요에 따라 서버 클러스터 또는 단일 머신에 배포할 수 있습니다.
설정에 따라 일부 구성 요소를 직접 배포하고 구성할 수 있습니다. 예: RabbitMQ - 자세한 내용은 Travis CI Enterprise 설정을 참조하십시오.
TCI Worker는 다음을 요구합니다:
Worker와 연결된 빌드 이미지를 포함하는 도커 이미지를 배포할 수 있는 인프라.
특정 Travis CI Core Services 구성 요소에 대한 연결성 - 자세한 내용은 Worker 설정을 참조하십시오.
배포된 TCI Worker 및 빌드 환경 OS 이미지의 수는 귀하의 인프라에서 Travis CI Enterprise 배포의 총 동시 용량을 결정합니다.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)