목록Programing & Coding/Server 구축 및 CI&CD (7)
S E P H ' S
배포를 완료한 Ubuntu EC2 Instance의 timezone을 KST로 변경했는데도 기준 시간(UTC)으로 시간이 찍혀나오고 있었다. Jenkins를 Docker Container로 구성했기 때문에 혹시 Docker Container의 timezone 문제인가 싶어 Container의 시간대를 KST로 변경해도 결과는 똑같았다. 그래서 Jenkins Build History 시간대를 변경하는 방법을 찾아보았다. User Name을 누르고 설정으로 이동합니다. User Defined Time Zone에서 Time Zone을 Asia/Seoul 로 변경합니다. 다시 돌아가서 프로젝트의 Build History를 확인해보면 KST로 표기되는 것을 확인할 수 있습니다.
이전 포스팅에 이어서 이번엔 자동 배포에 대해서 더 자세하게 다뤄보겠습니다. 새로운 Item 등록 대시보드 좌측 사이드 바에서 새로운 Item 을 클릭합니다. item의 이름을 작성하고 Freestyle project를 선택하고 좌하단의 OK 버튼을 클릭합니다. GitLab과 연결하기 위한 Plugin 설치 대시보드로 이동해서 플러그인을 설치하도록 하겠습니다. Jenkins 관리 > 플러그인 관리 > 설치가능 에서 Publish Over SSH, GitLab Plugin을 설치합니다. 먼저 AWS에 필요한 key파일을 지정하겠습니다. Jenkins 관리 > 시스템 설정 > Publish over SSH 설정으로 이동합니다. Key에 넣어야할 RSA 키는 서버 ssh 접속에 필요한 pem 파일을 열어 나오..
지금까지 Spring, Django 서버를 jar파일을 빌드하거나 Docker image로 만들어 수동 배포 하는 방법으로 서버에 서비스를 배포 하는 방법에 대해 포스팅 했습니다. 이번 포스팅에서는 실제로 진행해봤던 경험을 바탕으로 Jenkins를 활용한 Spring Boot 프로젝트 자동 배포 방법을 포스팅 하겠습니다. CI/CD 환경을 구축하기 위해선 CI 단계에서 안전하고 충돌이 없는 테스트 결과가 선행이 되어야 합니다. 이에 대한 개념과 준비사항들은 추후에 다른 포스팅에서 다루도록 하겠습니다. ubuntu 서버 환경에서 진행한 것임을 알려드립니다. Jenkins 설치하기 Docker를 사용해서 Jenkins를 설치합니다. $ sudo docker pull jenkins/jenkins:lts # 설..
지난 Nginx 포스팅에 이어서 이번 포스팅에서는 let's encrypt로 https를 적용하고 backend location 설정에 대한 내용을 다루겠습니다. Certbot 설치 sudo add-apt-repository ppa:certbot/certbot sudo apt-get upgrade sudo apt-get install python-certbot-nginx # sudo apt-get install python-certbot-nginx 명령어에서 python 관련 메세지가 나온다면 # sudo apt-get install python3-certbot-nginx 로 실행하시면 됩니다. Let's Encrypt 인증서 발급 sudo certbot certonly --nginx -d [도메인 주소..