Jenkins + ec2-plugin + spotinstance + Elastic IP
1. ec2 plugin 설정
- Jenkins> Jenkins 관리> 시스템 설정
- Cloud에서 Amazon EC2선택
다음을 각각 입력
· Access Key ID
· Secret Access Key
· Region
· EC2 Key Pair 's Private Key
· AMIs
o Description
o AMI ID : 작성한 AMI의 ID를 설정
o Instance Type
o Availability Zone
o Use Spot Instance 체크
o Spot Max Bid Price
o Choose Bid Type
o Security group names : AWS 의 Security Group의 name을 쉼표로 구분
o Remote user : ec2-user (적절히 변경)
o AMI Type : unix ( Amazon Linux 의 예이므로)
o Root command prefix : sudo (필요한 경우)
o Labels : Slave Node를 관리하는 단위이므로 적절히 입력 공백으로 구분하여 여러 지정 가능
o 용도 : 슬레이브를 최대로 이용하기 (필요에 따라 변경)
o Idle termination time : terminate (또는 stop) 할 때까지의 시간 (분)
o Init script : 젠킨스 에이전트를 설치하기 전에 해야 하는 단계
· 고급 설정
o Number of Executors : 동시 빌드 수
o Subnet ID for VPC : VPC 를 사용하면 Subnet ID를 지정하는
o Tags : 이것을 생략하면 움직이지 않습니다. EC2 용의 Name 태그를 설정합시다
o Instance Cap : 최대 빌드 수
o Associate Public IP : Global IP를 자동으로 흔들어 원하는 경우 설정합시다
init script에 Elastic IP를 바인딩하는 코드를 작성한다.
- 'aws ec2 associate-address --instance-id ' + instanceId + ' --allocation-id ' + elasticip
Multi-configuration project 생성하여서 slaves를 위에서 입력한 Labels을 선택해준다.
Exceute Shell 부분에 에이전트가 설치되고 난 후에 해야하는 작업을 실행한다.
사용법을 몰라서 한참을 고생하여 혹시 필요하신 분들이 있을지 몰라 공유합니다.
'IT > Linux' 카테고리의 다른 글
젠킨스 로그 용량이 늘어날경우 (0) | 2017.04.24 |
---|---|
Redmine 설치하기 (ruby 2.3.0 + redmine 3.2.0 + centos 6.6) (0) | 2016.01.21 |
SSH에서 자동로그인 설정이 안되는 경우 (0) | 2014.05.08 |