[개요]이번에 개인 프로젝트를 진행하면서 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 ..
docker
[상황] Docker Compose를 이용해서 배포 자동화를 구현하던 도중, 배포 과정에서 다음과 같은 에러가 발생했다. 이 부분에서 굉장히 많은 삽질이 이어졌는데, 도커와 github actions의 사용이 미숙해서 처음에는 configuration 파일이 뭐지?라는 생각을 했고, 설정 파일이면 docker-compose.yml이지 않을까 해서 확인을 해봤는데, 탐색하는 디렉토리가 도대체 어느 디렉토리인지를 몰라서 많이 헤매었다. root 디렉토리에는 분명 설정 파일이 있으니, 다른 곳에서 탐색하는 게 분명한데, 여기가 어딘지 몰라서 한참을 헤매다가 탐색하는 디렉토리를 찾았다. [해결] 처음에는 명령어 앞에 sudo를 붙여서 root 권한을 줬기 때문에 root 디렉토리에서 탐색할 것이라는 바보 같은 ..
[상황] 어제 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..