DevOps/Jenkins
[Jenkins] Pipeline Script
[Jenkins] Pipeline Script
2023.03.22node { def mvnHome stage('Preparation') { // for display purposes // Get some code from a GitHub repository git 'https://github.com/jglick/simple-maven-project-with-tests.git' // Get the Maven tool. // ** NOTE: This 'M3' Maven tool must be configured // ** in the global configuration. mvnHome = tool 'M3' } stage('Build') { // Run the maven build withEnv(["MVN_HOME=$mvnHome"]) { if (isUnix()) { s..
[Jenkins] CI와 젠킨스
[Jenkins] CI와 젠킨스
2023.03.22기존 소프트웨어 개발 사이클은 위와 같다. 요구 사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수 워터폴 모델이라고 불리는 이 사이클은 수십 년 동안 원활하게 작동했지만, 몇 가지 단점이 있다. - 새로운 요구 사항이 자주 발생하는 영역에 적합하지 않다. - 개발이 끝난 후 통합이 진행돼 통합 관련 이슈들이 마지막 단계에서 발견된다 - 각 단계에서 진행 상황을 파악하기 쉽지 않다. 이런 단점을 극복하기 위해 새로운 개발 사이클인 애자일 방법론이 도입됐다. 애플리케이션을 여러 기능으로 분류하고 개발을 진행한다. 계획 -> 요구사항 분석-> 설계 -> 개발 -> 테스트 -> 배포 위의 사이클을 각 기능별로 수행해 기능을 빠르게 구현하고 고객에게 피드백을 받는 구조이다. 요구 사항이 자주 변경되는 프..
[Jenkins] Docker + Jenkins + SVN Pipeline 구축
[Jenkins] Docker + Jenkins + SVN Pipeline 구축
2023.03.21도커 컨테이너에 젠킨스를 띄워놓고 SVN과 연결해 파이프라인을 구축해보자. 1. 도커 작업 docker pull jenkins/jenkins:latest docker container run -d -p 8092:8080 -v jenkins-data:var/jenkins_home —name jenkins-container jenkins/jenkins 젠킨스 이미지를 받아와서 컨테이너를 실행하자. 이 때 도커 볼륨을 추가해야 젠킨스 (컨테이너) 내부에서 플러그인들을 설치할 수 있고, 컨테이너를 삭제하더라도 데이터를 보존할 수 있다. 2. 필요한 플러그인 설치 추천하는 플러그인은 모두 설치하고 추가로 SVN, pmd, maven 플러그인을 설치해주자. 3. SVN 계정 추가 연동할 SVN의 권한을 가진 계정을..
[Jenkins] SVN과 Jenkins 연결
[Jenkins] SVN과 Jenkins 연결
2023.03.20Jenkins에서 SVN 플러그인을 설치하고 진행하자. 해당 방법으로는 GUI로 간단한 기능을 사용할 수 있다. 좀 더 세분화된 작업을 위해서는 Pipeline을 구축하는해 스크립트를 작성하는 편이 합리적이다. Repostiory URL : 사용하는 SVN 리포지토리의 주소를 입력한다. Credentials : Username과 Password에는 사용하는 SVN의 계정 이름과 비밀번호를 입력한다. Local module directory : SVN에서 체크아웃 받을 위치를 입력한다. Repository Depth - Infinity : SVN 저장소 전체를 체크아웃 - Empty : SVN 저장소의 루트 디렉토리만 체크아웃 - Files : SVN 저장소의 파일들만 체크아웃 - Immediate : 루..