[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 설치 과정에 ..
[Jenkins] IaC와 Ansible이란?
·
Infra/Jenkins
포스팅 시작에 앞서 이번 포스팅에서는 Jenkins에 관해 다루지 않는다. IaC와 Ansible이란 무엇인지에 대해 다룬다.    IaC의 의미와 필요성먼저, 설명하자면 IaC로 인프라를 구성하게 되면 기존의 인프라를 수동으로 구성하는 방법보다훨씬 빠른 구성이 가능하다. IaC코드형 인프라(Infrastructure as Code), 즉 IaC는 인프라 설정을 코드로 작성하는 것으로,클라우드 인프라스트럭처의 생성/수정/삭제를 자동화하는 방법이다. 이는 서버, 데이터베이스, 네트워크, 배포 프로세스, 테스트 등 거의 모든 것을 코드로 관리할 수 있게 도와준다.현재와 같은 클라우드 네이티브 환경에서는 물리적 측면이 모두 코드로 대체될 수 있기에 가능하다고 할 수 있다. 비슷하게, IaC는 활용에 따라 인프..
[부록] SSH, Docker가 설치된 도커 이미지 구성
·
Infra/Jenkins
Jenkins 필자는 이도원 강사님의 인프런 강의를 통해 SSH Server 및 도커가 설치되어 있는 이미지를 사용했지만,내가 직접 구현해보고 싶다는 생각이 들었고 나중에 리눅스 실험용 서버로 잘 사용할 수 있기에 관련 내용을포스팅 하려고 한다.  리눅스 이미지 사용 실행docker run --privileged -d --name mycentos centos:latest initssh 설정을 위해서는 --priviledged 옵션이 필수이다.  --priviledged 옵션이란? 도커 컨테이너는 기본적으로 Unpriviledged 모드로 실행된다.해당 모드에서는 시스템 주요 자원에 접근할 수 있는 권한이 부족하기 때문에, 특정 장치 등의 시스템 자원에 접근할 수 없다.  해당 부분에 대해 도커 공식 문서..
[Jenkins] Jenkins를 이용한 CI/CD 자동화 사용
·
Infra/Jenkins
Jenkins 우리는 앞선 글에서 Jenkins를 통해 어떻게 빌드하는지를 알아보았다. 빌드가 성공적으로 완료되었다면 우리는 Tomcat 서버에 배포하거나 SSH 서버를 이용하여 배포를 할 수 있게 된다.  1. 빌드 파일을 Tomcat 서버(WAS)에 배포하기 우선, Tomcat 서버에 배포하기 위한 플러그인을 설치해주어야 한다.(Tomcat 서버가 설치되어 있다는 가정)  Jenkins 관리 -> Plugins -> available -> deploy to container plugin 위의 순서로 접속하게 되면 우리는 Deploy to container Plugin을 만날 수 있다. 해당 플러그인을 설치해주자.  자, 그런 다음 이제는 새롭게 Maven 프로젝트를 생성해보자. New Item 생성 ..
[Jenkins] Jenkins를 통한 기초적인 빌드 작업
·
Infra/Jenkins
Jenkins의 CI/CD우리는 Jenkins가 지원하는 다양한 플러그인을 활용하여 자동화된 CI/CD 시스템 구축이 가능하다. 통상적으로, 개발자들은 Git이라는 SCM 도구를 사용하여 코드를 커밋한다. Jenkins는 해당 코드값들을 주기적으로 체크하거나 트리거를 유발시켜 코드를 빌드하거나 도커 컨테이너에 배포가 가능하다. 그럼 Jenkins에서는 Git을 그냥 사용할 수 있을까? 아니다. 관련 플러그인을 설치해줘야 한다.  Github 플러그인 설치Jenkins 관리 -> Plugins -> Installed plugin 순서로 접속한 뒤 Github plugin을 확인하자.또한, Jenkins 관리 -> Tools로 순서로 들어가 아래와 같이 설정을 해주자.  최종적으로 Plugin을 설치하고 ..
[Jenkins] Jenkins 소개
·
Infra/Jenkins
Jenkins   Jenkins는 먼저 지속적인 통합, 지속적인 배포라는 의미를 갖고 있는 CI/CD 작업에 있어, 시스템의 자동화 파이프라인 또는 워크플로우를 설계하는 데 사용되는 도구이다.  지속적인 통합과 배포Continuous Intergration Server Continuous Development, Build, Test, Deploy다양한 Plugins 연동Build Plugins: Maven, Ant, Gradle ....VCS Plugins: Git, SVN ....Language Plugins: Java, Python, Node.js .... 2005년부터 Jenkins 사용이 시작되었으며,젠킨스 자체는 오픈소스이기에 수많은 래퍼런스와 플러그인을 갖고있다.  Jenkins의 구동 순서B..