길고 긴 과정을 지나 드디어 배포 준비 시작! 와!
사실 배포 한 번밖에 안해봐서 진짜 어설프긴 한데 기억을 되살려서 천천히 해봅니다아
자동 배포를 하기 위해서 먼저 젠킨스를 설치한다.
docker-compose.yml 파일을 사용해서 (상대적으로) 편하게 설치를 할 수 있다.
이건 내가 사용한 docker-compose 파일!
version: '3'
services:
jenkins:
container_name: jenkins
image: jenkins/jenkins:lts # lts로 설치를 안하면 나중에 플러그인 설치할 때 문제가 생길 수 있댜,,
restart: on-failure
ports:
- "8080:8080" # 젠킨스 접속 포트
volumes:
- /var/jenkins_home:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock # Docker 소켓 공유 추가
- /usr/bin/docker:/usr/bin/docker # 호스트의 Docker 바이너리를 Jenkins 컨테이너 내부로 복사
- /var/www/backend:/var/www/backend
- /var/www/frontend:/var/www/frontend
user: root
* 나는 spring 서버 포트를 8000으로 해놨음!
그 다음 home/{사용자명} 폴더 아래에 - 나는 ubuntu기 때문에 home/ubuntu 폴더 였다 - jenkins 폴더를 하나 만들어서 그곳에 docker compose 파일을 복사해줬다!
모바텀은 드래그 앤 드랍을 지원하기때문에 폴더 만들고 걍 긁어서 넣으면 됨!
그리고 경로를 docker-compose 파일이 있는 곳으로 옮긴 후
cd jenkins
compose 파일을 실행한다!
sudo docker-compose up -d
그럼 젠킨스 컨테이너를 띄웠다! 호우!
docker-compose ps 명령어로 확인할 수 있다!
docker-compose ps
이제 플러그인 설치!
플러그인 설치를 위해서는 공인 ip를 알아야 한당
curl ip.ojj.kr를 입력하면 ip를 확인할 수 있다.
curl ip.ojj.kr
아까 docker-compose 파일에서 젠킨스 포트를 8080으로 했기 때문에 크롬을 켜서 http://{ip주소}:8080을 입력한다
그럼 unlock jenkins 화면이 뜬다 (난 이미 배포를 다 해놔서 캡처를 못훼,,,,)
administrator password를 입력하라고 뜨는데 이걸 확인하는 방법은 sudo docker logs jenkins 명령어를 입력하면 확인할 수 있다!
sudo docker logs jenkins
아니면 화면에 뜨는대로 vi var/lib/jenkins/secrets/initialAdminPassword 입력해도 확인 가능~!~!~!
vi var/lib/jenkins/secrets/initialAdminPassword
그러면 customize jenkins 화면이 뜨면서 두 개의 선택지가 보여지는데
나는 왼쪽의 install suggested plugins를 눌렀다.
어차피 나중에 원하는 플러그인 추가할 수 있움!
아까 docker-compose 파일에서 jenkins를 lts 버전으로 설치했는데 그 이유가 이제 나온다...
플러그인이 무사히 다 설치되면 다행이지만
나는 이런 대참사가 일어났었다...
플러그인 설치 오류가 계속 뜨는 것....
처음에 lts로 설치를 안했더니...허헣.... retry를 해도 계속 다 실패뜸,,,ㅜㅜㅜㅜ
그래서 결국 EC2 초기화하고 처음부터 다시 했다....^-^
근데 lts로 안해도 플러그인 설치가 잘 되는 경우도 있으니 이건 참고만..!
플러그인 설치가 끝나면
계정명, 암호 이름, 이메일을 입력하라고 하는데 계정명, 암호가 나중에 젠킨스에 로그인할 때 쓰인다!
이메일은 뭐 그냥 내거 입력했구... 계정명으로는 우리 프로젝트 이름인 fitter로 했다!
완료 하면 url을 설정하는데 나는 그냥 넘겼움!
그럼 쨘!
저기 fitter 떠있는건 이미 배포해놓은 것..... 무시하기....^-^
'DevOps > 배포' 카테고리의 다른 글
[EC2] 05. Gitlab + Jenkins 연동하기 (2) (0) | 2023.09.26 |
---|---|
[EC2] 05. Gitlab + Jenkins 연동하기 (1) (0) | 2023.09.26 |
[EC2] 03. MySQL 설치 (0) | 2023.09.25 |
[EC2] 02. Docker 설치(feat. chatGPT) (0) | 2023.09.25 |
[EC2] 01. EC2 세팅 (NginX, SSL) (0) | 2023.09.25 |