728x90
Dockerfile을 만들었지만 아무 것도 안 써줌
Jenkins에 접속해서 Docker를 누르고 Docker Pull Command를 복사해서 터미널에 입력한다 !
https://www.jenkins.io/download/
젠킨스 컨테이너 설치
$ sudo docker run -d --name jenkins -p 9090:9090 jenkins/jenkins:jdk11
-d : 컨테이너를 데몬으로 띄운다.
--name : 컨테이너 이름을 jenkins로 설정
-p 8080:8080 컨테이너 외부와 통신할 포트 : 내부적으로 사용할 포트를 포워딩 해준다.
초기 비밀번호 확인
docker logs jenkins
Jekins URL을 EC2의 탄력 IP주소로 설정한다.
localhost가 아닌 ec2의 탄력 IP 주소를 입력해주는 이유는 다른 PC에서 접속할 수 있도록 하기 위함이다.
간단한 CI 파이프라인 작성 후 빌드를 하니까 정말 많은 시간이 소요되고 빌드가 수행되는 것을 확인하지 못 했다.
따라서 Swap memory를 할당해보았다.
EC2에 swap 메모리 추가
//dd명령을 통해 Swap Memory 할당
$ sudo dd if=/dev/zero of=/swapfile bs=128M count=32
32+0 records in
32+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 65.6208 s, 65.5 MB/s
//swap 파일의 읽기 쓰기 권한 업데이트
$ sudo chmod 600 /swapfile
//Linux swap 영역 할당
$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
no label, UUID=f2ba69f3-37c6-47f7-b3e8-0f5c81046752
//swap 공간에 파일을 추가하여 swap 파일을 즉시 사용할 수 있게 한다.
$ sudo swapon /swapfile
// 진행한 과정들이 잘 되었는지 확인한다.
$ sudo swapon -s
Filename Type Size Used Priority
/swapfile file 4194300 0 -2
// /etc/fstab 파일을 편집하여 부팅시 스왑 파일을 활성화 한다.
$ sudo vi /etc/fstab
//파일 끝에 다음 줄을 추가하고 파일을 저장한 다음 종료한다.
/swapfile swap swap defaults 0 0
//free -m 명령어를 통해 Swap memory가 잘 할당됐는지 확인한다 !
$ free -m
total used free shared buff/cache available
Mem: 949 486 119 0 343 321
Swap: 4095 0 4095
잘 되었음 !
Swap 메모리 할당 후 무한 빌드 되지 않고 잘 동작하는 것을 확인하였다.
이제 파이프라인을 제대로 공부해서 CI CD를 구축해보도록 하겠다.
참고
Jekins 무한 빌드 해결 - SWAP 메모리 할당
https://velog.io/@kku64r/ec2freetier
728x90
'공부 > CI & CD' 카테고리의 다른 글
Jenkins로 CI/CD 구축하기 - (3) Jenkis Webhook 등록으로 Repo에 Push 하면 자동빌드 하기 (4) | 2024.08.09 |
---|---|
Jenkins로 CI/CD 구축하기 - (2) Jenkis CI/CD 파이프라인 구축하기 + Credentials 등록 (0) | 2024.08.09 |
GiftFunding) GitHub Actions CI/CD 적용하기[2] - CD 적용(2) (0) | 2024.06.29 |
GiftFunding) GitHub Actions CI/CD 적용하기[2] - CD 적용(1) (0) | 2024.06.29 |
배포 환경과 설정 파일 분리를 위한 작업) Private Repository 만들기 + Submodule 설정 (0) | 2024.06.29 |