목록IT/Jenkins (4)
And Brain said,
오늘은 간단하게 Publish Over SSH 플러그인을 이용하여 원격 서버에 배포를 해보겠다. 일단 환경은 이렇다. Jenkins가 존재하는 서버가 있고 Laravel 서비스가 존재하는 서버가 따로 있다. 그리하여 Jenkins로 Laravel 서버에 SSH 통신을 이용하여 자동 빌드 및 배포를 할 수 있도록 설계할 것이다. 바로 시작하자. 먼저 Jenkins에 Publish Over SSH 플러그인을 설치하도록 하자. 설치 이후 Dashboard -> Jenkins -> Configure System으로 가면 아래에 Publish over SSH가 존재할 것이다. 그러면 그 밑에 있는 SSH Server에 Name은 원하는 이름을 적고 Hostname으로 IP혹은 도메인을 적어준다. Username에..
오늘은 크리스마스 기념 Jenkins를 들고왔다. 내가 직접 수많은 오류를 내면서 작성했던 Pipeline Script를 여러분들에게 선물로 드리겠다. 일단 Jenkins가 왜 CI/CD 파이프라인의 지휘관인지, Git - Jenkins - Docker - Kubernetes의 간략한 아키텍처에 대해 내가 아는 수준에서 설명하겠다. 먼저 Git에 소스를 푸쉬하면 Jenkins는 그 변화를 감지하고 변경된 소스를 클론하여 Docker 이미지로 빌드하고 레포지토리에 푸쉬한다. 이후, Kubernetes는 레포지토리에 푸쉬된 이미지를 yaml 파일 또는 CLI 명령어등의 방법으로 컨테이너로 실행시킨다. 여기서 또한, Jenkins 파일에 Kubernetes 명령어들을 적어서 자동으로 실행시켜줄 수 있다. 이것..
오늘은 Github 소스를 Jenkins를 이용하여 Docker 컨테이너로 생성하는 CI/CD 파이프라인에 대해 간략히 알아보겠다. 일단 기본적인 Docker 네트워크를 만들고 나는 기존의 컨테이너와 이미지들을 전부 삭제했다. // Docker Network 생성하기 $ docker network create --gateway 172.18.0.1 --subnet 172.18.0.0/16 msa-network // container 전체 삭제 $ docker rm -f $(docker ps -qa) // image 전체 삭제 $ docker rmi $(docker images -q) 이제 Docker-compose.yml 파일을 만들어 docker-compose를 이용하여 Jenkins를 컨테이너로 띄워보..
Jenkins? Jenkins는 빌드를 자동화시키기 위해 사용한다. 요즘 서버 개발에 푹 빠져서 Jenkins 맛만 보려했는데 자동화도구라는 말이 무색하게 어려웠다. 그래서 오늘은 Jenkins 세팅까지만 알아보도록 하자.. 일단, Jenkins는 자바 기반에서 동작하므로 java 7버전 이상이 필요하다. 그리고 https://get.jenkins.io/war-stable/ 젠킨스 다운로드 페이지에서 war 파일을 다운한다. cmd 창에서 java --version을 입력해서 자바 버전에 맞는 Jenkins 버전을 선택하자. jenkins.war 를 받으면 된다. war 파일을 다운받았으면 환경변수 설정을 해줘야한다. 아니면 압축이 어디에 풀리는지 찾는데 한참 걸릴 수 있다. 나는 C드라이브에 jenki..