[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] Ansible Playbook 사용
·
Infra/Jenkins
이전 글이전 포스팅에서 우리는 Ansible의 기본 명령어인 -m 옵션을 활용해서 여러 모듈을 사용했다.하지만, 실제로는 -m 옵션을 주기보다는 Ansible Playbook를 사용한다.이번 포스팅에서는 Ansible Playbook이 무엇이고 어떻게 활용하는지에 관해 알아본다.   Ansible PlaybookAnsible Playbook은 사용자가 원하는 파일을 미리 작성해 놓은 파일을 말한다.즉, 우리가 앞서 모듈을 통해 한 줄씩 실행했던 것을 모아서 미리 파일을 만들어놓는 것이다. ex) 설치, 파일 전송, 서비스 재시작...ex) 다수의 서버에 반복 작업을 처리하는 경우 우리는 Ansible에서 제공하는 playbook을 통해 여러 작업이 가능하다.  Ansible Playbook 예제 프로그램..
[Jenkins] Ansible 기본 명령어
·
Infra/Jenkins
이전 글우리는 이전 포스트에서 Ansible를 리눅스 서버에 설치해보았고 정상 동작함을 확인했다.Ansible에서 /etc/ansible/hosts 경로에 여러 호스트를 등록할 수 있었고,해당 호스트들에게 아직은 설명이 없지만 -m 옵션과 함께 ping 확인 진행했다. 이번 포스팅에선 Ansible의 기본 명령어에 관해 알아본다. Ansible의 기본 명령어 실행 옵션-i (--inventory-file) -> 적용 될 호스트들에 관한 파일 정보-m (--module-name) -> 모듈 선택-k (--ask-pass) -> 관리자 암호 요청-K (--ask-become-pass) -> 관리자 권한 상승--list-hosts -> 적용되는 호스트 목록-i 옵션은 /etc/ansible/hosts의 경로..