ci/cd

·Dev/Infra
[개요]이번에 개인 프로젝트를 진행하면서 Jenkins를 사용해서 CI/CD를 구축했다.평소에 EC2 인스턴스에 Jenkins만 띄워서 사용하다가 Windows 버전의 Jenkins를 사용해서 파이프라인을 구축해 봤는데 자료들을 많이 찾아봤음에도 Windows 버전의 Jenkins를 사용해서 CI/CD를 진행한 자료들을 찾아볼 수 없었다.그래서 이왕 성공한 거 Jenkins for Windows를 이용해서 구축하려는 사람들을 위해 포스팅해보려고 한다. [과정]0. 사전 준비EC2 인스턴스SSH 클라이언트 (필자의 경우, Xshell을 사용했다.)WSL2 (Windows 환경 내에서 Linux와 Docker Desktop을 이용하기 위함. Jenkins 파이프라인 내에서 Docker Image Build ..
[상황] GitHub Actions에서 nginx를 통한 Blue-Green 배포를 구현하던 중에 서버 헬스 체크를 무한으로 반복하는 상황이 생겼다. curl 명령어를 통해 체크를 하는 부분이 문제가 생긴 것인데, 서버로 부터 응답이 오지 않아 무한정 반복하는 상황이 지속되고 있었다. 서버에서 상황을 체크하기 위해 curl 명령어를 실행해봐도 똑같은 결과를 낳고 있었다. [해결] 배포하는 과정을 다시 살펴보고서 문제가 생긴 부분을 확인해본 결과, 두 가지 문제점이 있었다. 첫 번째로 포트 연결이 잘못 되었다. docker-compose.yml 을 작성하는 과정에서 포트 연결에 실수가 있었고 이는 쉽게 해결했다. 두 번째로 curl 명령어 부분에서 문제가 발생했다. 쉘 스크립트의 일부를 살펴보면 # .....
[상황] 어제 Github actions를 통한 배포 자동화를 테스트하던 도중 docker에서 pull을 받아서 실행시키는 job에서 에러가 발생했다. 에러를 살펴보면 권한이 없어서 도커 소켓에 연결하지 못한다는 말인거 같아서 검색을 해보니 우리가 로컬 환경에서는 root 권한으로 사용중이던 docker가 workflow를 실행하는 환경에서는 권한이 없어서 실행할 수 없는거 같았다. 그래서 권한을 부여하는 명령어를 추가했더니 잘 실행됐다! [해결] docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) docker pull ${{ secrets.DOCKERHUB_USERNAME }}/cicd-test (sudo chmod 666 /var/run/dock..
제로버드
'ci/cd' 태그의 글 목록