이 글을 보게 된 다면
좋은 글이 있어 이 링크도 본인 진행도에 맞게 같이 켜 두는걸 권장함.
참고 : https://velog.io/@hmyanghm/AWS-EC2%EC%97%90-Jenkins-%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95
📙 AWS EC2에 Jenkins 서버 구축
AWS에서 가장 많이 사용하는 EC2에 Jenkins 서버를 구축한 후 GitLab Webhook까지 연결하는 방법에 대해 정리해서 두고두고 참고하려고 작성하는 글 😉
velog.io
참고 : https://velog.io/@hmyanghm/Jenkins%EC%97%90-GitLab-%EC%A0%80%EC%9E%A5%EC%86%8C-%EC%97%B0%EB%8F%99
📒 Jenkins에 GitLab 저장소 연동
앞서 설명한 EC2에 Jenkins와 Docker를 설치한 후 GitLab까지 연동시켜서 자동으로 배포 및 빌드가 가능하게끔 하려고 한다. 이 부분까지 완성되면 정말 끝! 🙌
velog.io
젠킨스의 자동 배포 과정
1. 로컬 컴퓨터에서 깃허브 저장소에 push를 해서 코드가 업데이트 됨
2. 젠킨스와 깃허브 저장소는 웹 훅이 되어 있어 젠킨스가 깃허브 저장소의 상태 변경을 감지함
3. 감지 후 새로히 업데이트 된 코드를 가져와 새롭게 빌드를 함
4. 스프링 부트 서버에게 새로 빌드 한 .jar 파일을 배포 한다
끝
구축 과정 순서
1. AWS EC2 인스턴스 생성
2. 젠킨스를 쓸 서버에 자바 설치(자바 8버전)
3. 젠킨스 설치 (자바 버전에 맞는 젠킨스 버전 설치)
4. 스왑 파티션 생성(이유는 밑에 설명)
5. 젠킨스 UI에서 설정
6. 깃허브 저장소와 젠킨스 서버 연동
7. 젠킨스에 깃허브 저장소 웹 훅 걸기
8. 빌드 시, 빌드 후 스프링부트 서버와 ssh 통신 (쉘 스크립트)
위에 써둔 참고 사이트는 AMI(아마존 os)를 하였고 저는 우분투를 썼기 때문에 중간중간 언어가 다르니 참고
yum => apt-get
위 글을 따라 인스턴스를 생성하였으면 인스턴스에 접속을 해야하는데
윈도우라면 putty를 써도 되고 aws 인스턴스 연결 누르면 웹상으로도 바로 접속 할 수 있다.
ssh 통신을 하려면 인바운드 규칙으로 22번 포트를 개방해줘야한다.
젠킨스 인스턴스의 보안그룹에 들어가서 ssh(port22번)을 열어두자
※저는 http,https,mysql(3306),8080(젠킨스랑통신),9090(스프링부트서버 사이트 포트) 이렇게 해두고
해당 보안그룹으로 스프링,젠킨스 서버 에 씀 .
젠킨스 최신 버전은 자바 8을 지원하지 않는다.
아마 msi파일로 설치하면 입구컷 당할 테고 CLI로 설치하면 자꾸 에러가 뜬다.
그래서 오래 지원해주고 자바8지원해주는 2.346.1을 택함
1. 자바 설치
```
sudo apt update
sudo apt install openjdk-8-jdk
```
2. 젠킨스 설치
```
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins=2.346.1
```
23.8.10 일단 여기 까지 작성함
'devOps' 카테고리의 다른 글
nginx letsencrypt 로 SSL 인증서 발급 후 사이트 https 적용하기 (0) | 2024.02.01 |
---|---|
docker 로 Spring boot 프로젝트 EC2에 배포하기 (맥북 빌드 시 에러 해결) (0) | 2024.01.10 |
[Jenkins] 다른 프로젝트에 의존성을 가진 프로젝트 자동 빌드 하기 (0) | 2023.09.26 |
Host key verification failed..(젠킨스 서버 이관 이후 빌드 반영 안될 때) (0) | 2023.08.28 |