젠킨스로 배우는 CI/CD 파이프라인 구축 - 파이프라인
·
Study/젠킨스로 배우는 CI,CD 파이프라인 구축
젠킨스의 중요한 개념인 파이프라인에 대해 알아보자!📂 젠킨스 파이프라인젠킨스를 사용해 CD 파이프라인을 구현하고 통합할 때 사용하는 플러그인 스크립트 모음이다.CD 파이프라인은 버전 제어 시스템에서 가져온 코드를 애플리케이션으로 만들어 고객과 사용자에게 전달할 때까지의 프로세스를 자동으로 실행할 수 있도록 코드로 작성한 표현식이다.애플리케이션에서 수행하는 모든 변경사항은 최종 릴리스가 되기까지 복잡한 빌드 프로세스를 거친다.코드를 작성할때는 API가 필요하다.📂 파이프라인의 장점 💊 젠킨스 파이프라인으로 CI/CD 프로세스를 자동화할때의 장점코드파이프라인을 사용하면 애플리케이션의 CI/CD프로세스를 코드 형식으로 작성할 수있고, 애플리케이션의 소스 코드와 함께 코드 리포지터리에 저장할 수 있다.빌드..
젠킨스로 배우는 CI/CD 파이프라인 구축 - SSH
·
Study/젠킨스로 배우는 CI,CD 파이프라인 구축
신규 사용자를 개인 깃랩 리포지터리에 Contributor로 추가하는 방법, 깃랩 리포지터리에 SSH인증을 설정하는 방법, 젠킨스에서 SSH인증 방식의 깃랩 리포지터리에 접속하는 방법, SCM을 폴링하고 자동으로 빌드를 시작하는 젠킨스 작업을 생성하는 방법등을 알아보자!📂 비공개 깃랩 리포지터리에 Contributor 추가관리자는 갯랩을 사용하는 여러 팀원에게 각기 다른 역할을 부여할 수 있다. 그러므로 개발자가 깃랩 리포지터리에서 작업하려면 관리자가 개발자를 Contributor로 추가해야한다.💊 코드 리포지터리에 팀원 초대 (관리자만 초대할 수 있으며, 초대받는 팀원은 유효한 깃랩계정 필요함)1.깃랩 리포지터리의 관리자 자격으로 로그인코드 리포지터리에서 생성한 깃랩 사용자의 자격 증명으로 깃랩에 ..
젠킨스로 배우는 CI/CD 파이프라인 구축 - 넥서스 설치 및 적용
·
Study/젠킨스로 배우는 CI,CD 파이프라인 구축
메이븐과 넥서스 통합 및 자바 API 릴리스용 프리스타일 작업 생성 챕터2📂 넥서스 리포지터리의 이해넥서스 아티팩트 리포지터리를 살펴보자💡아티팩트빌드 과정에서 생성되는 산출물웹 애플리케이션을 개발중이고, 애플리케이션을 .war파일의 형태로 패키징한다면 해당 .war파일이 바로 아티팩트이다.자바 API 프로젝트의 경우에는 빌드 과정에서 생성되는 .jar파일이 아티팩트가 된다.💡넥서스 리포지터리아티팩트를 릴리스하고 필요에 따라 사용자가 아티팩트를 다운로드할 수 있는 기능을 제공하는 플랫폼이다.개발 프로젝트에서 사용하는 의존성 라이브러리(아티팩트)들을 저장하고 관리하는 중앙 저장소(Repository Manager)이며, 주로 Maven, Gradle 등에서 많이 사용된다.💡넥서스 리포지터리 설치htt..
젠킨스로 배우는 CI/CD 파이프라인 구축 - 깃과 깃랩
·
Study/젠킨스로 배우는 CI,CD 파이프라인 구축
메이븐과 넥서스 통합 및 자바 API 릴리스용 프리스타일 작업 생성 챕터1젠킨스가 소스 코드 리포지터리에서 자바 API 프로젝트의 원시 소스 코드를 가져오는 방법과 빌드 도구를 사용하고 전체 빌드 수명 주기 단계를 거쳐, 아티팩트를 최종 목적지인 넥서스 리포지터리로 배포할 때까지의 방법을 설명해보자!📂 깃의 이해🔗소스 관리 시스템의 세가지 유형 1. 중앙집중식 버전 관리 시스템특정 서버에서 운영되며, 개발자는 항상 중앙 리포지터리에 연결해서 버전 관리를 해야 한다. 네트워크에 연결돼 있지 않으면 로컬 시스템에서 버전 관리를 수행할 수 없다.(Tortoise SVN) 2. 로컬 비전 관리 시스템 로컬 시스템용 코드 리포지터리를 사용한다. 일반적이고 단순하지만, 변경 사항을 잘못된 파일에 쓸 가능성이 높..
젠킨스로 배우는 CI/CD 파이프라인 구축 - 메이븐으로 프로젝트 준비
·
Study/젠킨스로 배우는 CI,CD 파이프라인 구축
다양한 애플리케이션의 빌드 수명 주기 전체를 관리하는 실제 사용법을 알아보자. (여러 종류의 작업을 구성하고 다양한 방식으로 시작하는 방법)애플리케이션 프로그래밍 인터페이스(API) : 재사용 라이브러리나 웹 애플리케이션, RESTful API 서비스 등 여러 종류의 애플리케이션은 빌드와 절차를 가진다.📂 메이븐 빌드 도구의 이해 : 자바 API 프로젝트 개발 과정🔖서드파티 라이브러리 다운로드 (third-party library)다른 API개발자가 구현한 라이브러리(개발 키트에서 제공하는 API클래스)를 사용하는 것아티팩트 또는 패키지 레지스트리라고 불리는 별도의 웹 플랫폼을 통해 제공한다.mvnrepository : 자바 API 개발자가 패키지 파일(.jar)을 배포하고, 사용자가 다운로드할 수 ..
젠킨스로 배우는 CI/CD 파이프라인 구축 - 젠킨스 작업의 이해
·
Study/젠킨스로 배우는 CI,CD 파이프라인 구축
📂 젠킨스의 작업 젠킨스 프로젝트젠킨스에게 무엇을 언제 해야 하는지를 지시하는 일련의 명령 집합어떤 종류의 작업을 구성하든 다음 세가지 유형의 지시 사항이 포함되어야 한다.1. 작업을 수행하는 시점(트리거)사용자는 작업에서 수행할 태스크가 언제 시작될지를 젠킨스에게 지시할 수 있다. (= 젠킨스 트리거)2. 작업을 구성하는 단계별 태스트(빌드 스탭)사용자는 특정 목표를 수행하기 위한 태스크를 단계별로 구성할 수 있다.(= 젠킨스 빌드 스텝)빌드스텝에서는 간단한 배치 명령을 실행할 수 있다.3. 태스트가 완료 후 수행할 명령(포스트-빌드액션)사용자는 태스크 실행이 완료된 후에 젠킨스가 수행할 작업을 구성할 수 있다.작업의 결과를 사용자에게 알려주는 후속 동작이나, 자바 코드를 컴파일한 후 생성된 클래스 ..
젠킨스로 배우는 CI/CD 파이프라인 구축 - 사용자 관리
·
Study/젠킨스로 배우는 CI,CD 파이프라인 구축
📂 젠킨스 사용자 생성 (젠킨스에서 사용자를 생성하는 절차) 1. 대시보드에서 Manage Jenkins > Manage Users 링크를 클릭2. 페이지 상단에서 Create User링크를 클릭3. 사용자이름 , 비밀번호 등등 세부 정보를 입력📂 젠킨스 사용자에게 역할 할당사용자에게 역할을 할당하려면 역할과 권한을 생성하고, 역할에 권한을 부여하는 과정이 필요하다.권한을 생성하려면 'Role-based Authorization Strategy'(역할-기반 권한 부여 전략)플러그인 설치해야한다.1. Plugins > Available plugins > Role-based Authorization Strategy 설치2. 플러그인 설치 > 설치가 끝나고 실행중인 작업이 없는 재시작 클릭3. 재시작 후 ..
젠킨스로 배우는 CI/CD 파이프라인 구축 - 젠킨스 자격증명 관리
·
Study/젠킨스로 배우는 CI,CD 파이프라인 구축
젠킨스에서 다양한 종류의 자격증명을 생성하는 방법을 알아보자!CI/CD 자동화 서버인 젠킨스에서 작업을 수행하려면 다양한 외부 도구들(넥서스 아티팩트 리포지터리, 깃소스코드...)에 접속해야한다. 이러한 외부 리포지터리들의 인증 방식에는 사용자 이름과 비밀번호를 사용하는 기본 인증, 개인 키와 공개 키를 사용하는 SSH 인증, 접속 요청시 API 토큰을 전송하는 API 토큰 기반인증 등 다양한 방식이 있다.젠킨스에서는 자격 증명 항목을 생성하고 인스턴스 내에 이 정보를 저장할 수 있다. [자격증명 (credential) : 젠킨스에서 인증에 필요한 정보]💡젠킨스의 자격 증명 이해 자격 증명은 젠킨스에 저장된 인증 정보로 구성된다.구성된 정보를 사용해 젠킨스에서는 다양한 종류의 외부 도구에 접속할 수 있..
젠킨스로 배우는 CI/CD 파이프라인 구축 - 젠킨스 보안관리 구성
·
Study/젠킨스로 배우는 CI,CD 파이프라인 구축
젠킨스에서 인증과 권한 부여기능을 구성해보자 !💡젠킨스의 전역 보안 구성로그인 유지라는 체크박스이며, 이를 선택하고 로그인하면 다음부터는 젠킨스에 접속할 때 로그인 요청을 하지 않는다. 💡Security Realm 섹션Delegate to servlet container (서블릿 컨테이너에 위임) : 젠킨스는 제티(젠킨스 서버를 실행할때 사용하는 기본 서블릿 컨테이너)나 톰캣 등과 같은 자바 서블릿 컨테이너에서 실행되는 자동화 서버다. 해당 컨테이너에 구성된 사용자로 젠킨스를 실행하고 싶은 경우 선택한다.Jenkins own user database (젠킨스 자체 사용자 데이터베이스) : 서드파티 제품을 이용하지 않고, 젠킨스의 자체 데이터베이스에서 사용자를 생성하고 관리하려고 할때 사용하는 옵션으..
젠킨스로 배우는 CI/CD 파이프라인 구축 - 전역 도구 구성 이해
·
Study/젠킨스로 배우는 CI,CD 파이프라인 구축
전역 도구 구성 페이지에서 JDK와 메이븐을 구성하는 방법을 설명해보자!💡전역 도구 구성 이해 메이븐은 컴파일, 패키징, 배포와 같은 자바 애플리케이션의 빌드 단계를 자동화하는 데 사용되며, 다른 플러그인들의 지원을 받아 작업을 수행하는 명령행 인터페이스 빌드 도구다.메이븐의 설정에는 2개의 구성파일이 사용된다.메이븐 설치파일(전역 설정) : 기본 위치는 ${maver.home}/conf이고, 파일이름은 settings.xml사용자 설치 파일(사용자 설정): 기본위치는 ${user.home}/.m2이고, 파일이름은 settings.xml해당파일은 메이븐으로 자바 프로젝트를 빌드하는데 필요한 설정이 들어있으며, 동일한 시스템에서 작업하는 모든 사용자에게 적용되는 공통 메이븐 설정은 전역 설정 파일에 저장..