만쥬의 개발일기
article thumbnail
[CI/CD] - 무중단 배포 withCI/CD 3: github action을 활용한 CD 편
♾️DevOps/♾️CI & CD 2024. 2. 26. 16:06

최종 아키텍쳐 이제 CI부분까지는 완료됐으니, 배포 부분 yml만 작성해주면 끝이다. 먼저 빌드 부분 yml 파일을 작성하기 전에 러너를 선택해야되는데, 깃허브 액션의 기본 러너를 사용하면 깃허브 액션을 실시할 때마다 러너의 IP가 바뀌기 때문에 서버의 인바운드 규칙을 설정하기가 상당히 애매해진다. 따라서 내 서버를 러너로서 사용하는 self-hosted runner를 선택했다. Self-hosted 러너 설정 actions ➡️ runners ➡️ new self-hosted runner를 선택해준다. 배포 서버의 운영체제에 맞게 선택해주고, 하단에 있는 스크립트들을 배포서버의 배포 폴더에서 실행시켜 주면 준비 끝! Self-hosted 러너 테스트 name: nsfServer Github Action..

article thumbnail
[CI/CD] - 도커와 젠킨스를 사용한 CI/CD -3 (도커의 설치부터 자동배포까지)
♾️DevOps/♾️CI & CD 2023. 10. 22. 03:23

지난 포스팅들에서는 도커와 젠킨스의 기본 환경 설정을 했다면, 이번 포스팅에서는 실제 파이프라인을 구축해보겠다. docker start jenkins docker exec -it jenkins /bin/bash 혹시 젠킨스를 재실행할 상황이 온다면 위 스크립트를 실행하면 된다. (run 명령어는 재설치이므로 유의) 젠킨스와 깃허브 연동 젠킨스의 메인 페이지이다. 왼쪽 네비게이션에서 새로운 item을 클릭해준다. item name을 적고, Freestyle project를 선택해준다. 이제 상세 설정의 소스 코드 관리 탭에서 Repository URL을 적어주면 되는데, 여기서 한 가지 의문이 든다. 바로 우리 프로젝트의 Repository는 private 레포이기 때문이다. 따라서 gitHub와 Jenk..

article thumbnail
[CI/CD] - 도커와 젠킨스를 사용한 CI/CD -2 (도커의 설치부터 자동배포까지)
♾️DevOps/♾️CI & CD 2023. 10. 22. 02:16

2023.10.21 - [분류 전체보기] - [CI/CD] - 도커와 젠킨스를 사용한 CI/CD -1 (도커의 설치부터 자동배포까지) 도커의 설치와 기본 세팅은 위 포스팅에 정리되어있다. 젠킨스 이미지 다운 docker pull jenkins/jenkins:lts 먼저 docker 명령어를 이용해 jenkins 이미지를 다운받는다. docker images 를 통해 내가 다운받은 이미지 목록을 볼 수 있고, 이렇게 젠킨스가 잘 다운된 것을 확인할 수 있다. 젠킨스 이미지를 컨테이너화 docker run -d -p 8088:8080 -v /jenkins:/var/jenkins_home --name anna_jenkins -u root jenkins/jenkins:lts 이제 젠킨스 이미지를 컨테이너에 올려..

article thumbnail
[CI/CD] - 도커와 젠킨스를 사용한 CI/CD -1 (도커의 설치부터 자동배포까지)
♾️DevOps/♾️CI & CD 2023. 10. 21. 20:35

오늘은 window wsl2 ubuntu18.04환경에서 도커를 설치하고, 젠킨스를 이용해 자동 배포 파이프라인을 구축해 볼 예정이다. 자동 배포의 필요성 기존 팀 프로젝트의 work flow는 다음과 같았다. 각자 기능 구현 후 PR EC2 서버로 접속 github에 merge된 코드를 git pull gradle을 이용해 build jar파일을 java -jar 명령어를 통해 80번포트에 실행 이 1번~ 5번 과정이 서버 배포의 플로우이고, 서버 배포는 매번 기능이 추가 될 때마다 시행되어야 한다. 이 flow는 새로운 기능마다 바뀌는 것이 아니기에, 자동화 할 수 있는 대상이다. 이를 자동화하여 최신상태의 코드가 자동으로 배포되도록 하는 것을 Continuos Distribution, 지속적 배포라..