Basic TravisCI Information
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Access
TravisCI는 Github, Bitbucket, Assembla, Gitlab과 같은 다양한 git 플랫폼과 직접 통합됩니다. 사용자가 TravisCI와 통합하려는 저장소에 접근할 수 있도록 TravisCI 권한을 부여하도록 요청합니다.
예를 들어, Github에서는 다음 권한을 요청합니다:
user:email
(읽기 전용)read:org
(읽기 전용)repo
: 공개 및 비공개 저장소와 조직에 대한 코드, 커밋 상태, 협력자 및 배포 상태에 대한 읽기 및 쓰기 권한을 부여합니다.
Encrypted Secrets
Environment Variables
TravisCI에서는 다른 CI 플랫폼과 마찬가지로 저장소 수준의 비밀을 저장할 수 있으며, 이는 암호화되어 저장되고 빌드를 실행하는 머신의 환경 변수에 복호화되어 푸시됩니다.
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F209827131-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzJZUQhBpNPiCSGYCC3is%252Fuploads%252Fgit-blob-7aeb299ad1af3f48f2a6ed218e57e292e3c6e7c9%252Fimage%2520%28203%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=1f9ad487&sv=1)
비밀이 사용될 브랜치를 지정할 수 있으며(기본값은 모두), 또한 로그에 나타날 경우 TravisCI가 값을 숨겨야 하는지 여부도 지정할 수 있습니다(기본값은 숨김).
Custom Encrypted Secrets
각 저장소에 대해 TravisCI는 RSA 키 쌍을 생성하고, 개인 키는 유지하며, 저장소에 접근 권한이 있는 사람들에게 공개 키를 제공합니다.
한 저장소의 공개 키에 접근하려면:
그런 다음, 이 설정을 사용하여 비밀을 암호화하고 .travis.yaml
에 추가할 수 있습니다. 비밀은 빌드가 실행될 때 복호화되어 환경 변수에서 접근할 수 있습니다.
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F209827131-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzJZUQhBpNPiCSGYCC3is%252Fuploads%252Fgit-blob-35751b944da551d232beae9b869512b7fe49260d%252Fimage%2520%28139%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=f332e1f2&sv=1)
이 방식으로 암호화된 비밀은 설정의 환경 변수 목록에 나타나지 않는다는 점에 유의하세요.
Custom Encrypted Files
이전과 마찬가지로, TravisCI는 파일을 암호화하고 빌드 중에 복호화할 수 있습니다:
파일을 암호화할 때 2개의 환경 변수가 레포지토리 내부에 구성된다는 점에 유의하십시오:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F209827131-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzJZUQhBpNPiCSGYCC3is%252Fuploads%252Fgit-blob-59add2f1cbec8193e5fa75c86ab25bcaf0016820%252Fimage%2520%28170%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=58edfeeb&sv=1)
TravisCI Enterprise
Travis CI Enterprise는 Travis CI의 온프레미스 버전으로, 귀하의 인프라에 배포할 수 있습니다. Travis CI의 '서버' 버전이라고 생각하면 됩니다. Travis CI를 사용하면 환경에서 사용하기 쉬운 Continuous Integration/Continuous Deployment (CI/CD) 시스템을 활성화할 수 있으며, 이를 원하는 대로 구성하고 보안할 수 있습니다.
Travis CI Enterprise는 두 가지 주요 부분으로 구성됩니다:
버전 관리 시스템과의 통합, 빌드 승인, 빌드 작업 예약 등을 담당하는 TCI 서비스(또는 TCI 코어 서비스).
TCI Worker 및 빌드 환경 이미지(운영 체제 이미지라고도 함).
TCI 코어 서비스는 다음을 필요로 합니다:
PostgreSQL11 (또는 그 이상) 데이터베이스.
Kubernetes 클러스터를 배포할 인프라; 필요에 따라 서버 클러스터나 단일 머신에 배포할 수 있습니다.
설정에 따라 일부 구성 요소를 직접 배포하고 구성할 수 있습니다. 예를 들어, RabbitMQ - 자세한 내용은 Travis CI Enterprise 설정을 참조하십시오.
TCI Worker는 다음을 필요로 합니다:
Worker와 연결된 빌드 이미지를 포함하는 도커 이미지를 배포할 인프라.
특정 Travis CI 코어 서비스 구성 요소와의 연결성 - 자세한 내용은 Worker 설정을 참조하십시오.
배포된 TCI Worker 및 빌드 환경 운영 체제 이미지의 양은 인프라 내 Travis CI Enterprise 배포의 총 동시 용량을 결정합니다.
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F209827131-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzJZUQhBpNPiCSGYCC3is%252Fuploads%252Fgit-blob-f1071d8a6168648c47c956bb0deea81870fa1d32%252Fimage%2520%28199%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=bdfbd0a9&sv=1)
AWS 해킹 학습 및 연습:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 학습 및 연습:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated