[Jenkins] Github Webhook + Jenkins 연동 및 빌드
·
카테고리 없음
Jenkins 이전 글이전 포스팅에서는 Jenkins의 Master + Slave 노드를 구성해서 여러 Job을 Slave로 위임하는 작업을 했었다.Job을 Master에서 전부 처리하지 않고 나눔으로 여러 이점을 얻을 수 있을 것이다. 이번 포스팅에서는 Github Webhook과 Jenkins를 연동하여 코드 변경 시 빌드가 진행되도록 해볼 것이다.  AWS에 Jenkins 서버 구동AWS 사이트에 접속해서 EC2에 접속하도록 하자. 그 후, 인스턴스 시작을 하면 아래 화면이 나오게 될 것이다.(나는 아래와 같이 설정했다.)  OS는 Amazon Linux를 선택했다.이름은 언제든지 변경가능하기 때문에 어떻게 하건 상관없다.  인스턴스 유형은 프리티어에서 사용가능한 t2.micro를 선택했다.키 페어..
[Jenkins] Jenkins Multi nodes 구성 - Master + Slaves
·
Infra/Jenkins
Jenkins 이번 포스팅에서는 Jenkins Multi nodes 구성에 관하여 알아볼 것이다.흔히, Master + Slaves 구성으로 부르게 되는 내용이다. Jenkins Slave Jenkins SlaveRemote에서 실행되는 Jenkins 실행 NodeJenkins Master의 요청 처리Master로부터 전달된 Job 실행다양한 운영체제에서 실행 가능Jenkins 프로젝트 생성 시 특정 Slave를 선택하여 실행이 가능하다. 리소스가 충분히 확보되어있는 노드에 실행하도록 할 수도 있다.다른 것 없이 JVM만 추가되어있는 상태여서 Master의 Job을 실행 클라이언트가 요청한 모든 작업을 Master가 다 하는것이 아닌 Slave로 위임한 후 결과를 전달받는 방식이다. Jenkins Sla..
[Jenkins] Jenkins + SonarQube 사용
·
Infra/Jenkins
Jenkins 이전 글이전 포스팅에서 우리는 Jenkins의 Pipeline에 대해서 알아보았다.Pipeline을 사용하여 좀 더 목적에 맞게 CI/CD 진행이 가능했다. 이번 포스팅에서는 정적 분석 도구인 SonarQube와 Jenkins를 사용하는 것을 다뤄보도록 하겠다.  SonarQube https://www.sonarqube.org Code Quality Tool & Secure Analysis with SonarQubeEmpower development teams with a code quality & security solution that deeply integrates into your enterprise environment that enables you to deploy Clean C..
[Jenkins] Jenkins의 여러 Pipeline 작업
·
Infra/Jenkins
Jenkins 이전 글이전 포스팅에서 우리는 Jenkins와 Ansible을 연동해서 Ansible이 관리하는 여러 호스트들에게 작업을 지정했다.이번 포스팅에서는 Jenkins의 Pipeline 사용에 관해 알아볼 것이다.   Jenkins의 Delivery Pipeline Delivery Pipeline 플러그인을 설치하게 되면 Item의 빌드의 연쇄적인 진행 과정을 확인할 수 있다. 우선, Item을 연쇄적으로 빌드하는 방법에 관해 알아보자. 1. 첫번째 Item은 그냥 echo 작업2. 두번째 Item은 git에서 코드를 가져와서 Maven 빌드를 하는 작업3. 세번째 Item은 빌드한 것을 배포하는 작업 위와 같이 진행된다고 가정해보자. 특정 작업이 끝난 뒤 다른 Item을 실행하기 위해선 빌드 ..
[Jenkins] Jenkins + Ansible 연동하기
·
Infra/Jenkins
Jenkins 이전 글우리는 이전 포스팅들에서 Ansible이 무엇인지, 왜 사용하는지, Ansible의 Playbook을 알아보며 학습했다.이제는 학습한 Ansible과 Jenkins를 연동해보자.  Jenkins + Ansible 연동Jenkins와 Ansible을 연동하기 위해서는 우선 Jenkins에 Ansible Server에 접근할 수 있도록 설정을 해주어야 한다.설정은 아래 사진과 같다. Jenkins 관리 -> System -> Publish Over SSH(플러그인 설치) -> 구성  이전 포스팅에서도 설명해왔지만, 추가로 설명하자면 name: 접속할 서버의 이름Hostname: IP Address필자는 도커로 Ansible를 설치했기에 아래 명령어로 docker 컨테이너의 IP Addr..
[Jenkins] Docker 컨테이너로 Ansible 실행하기
·
Infra/Jenkins
Ansible 설치먼저 Ansible를 설치할 도커 리눅스 환경을 구성해야 한다.해당 리눅스 환경 구성과 관련해서는 다음 포스팅을 참고하면 된다 -> SSH, Docker 도커 이미지 구성  (후술할 내용은 나의 리눅스 컨테이너 환경에 맞춰 진행한 것으로 파이썬 버전, OS에 따라 알맞게 설치를 진행해야 한다.)(필자의 경우 centos 8를 사용하였고 오히려 돌아간 것일 수 있다. 기본적으로 yum -y install ansible를 입력하면 설치된다.)그 후 작업은 아래와 같다. 1. pip 및 setuptools 업그레이드pip3 install --upgrade pip setuptools 2. Rust 도구 체인 설치 및 업그레이드dnf install rust cargo Ansible 설치 과정에 ..