Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- GIT
- nexus
- 변수
- 사용자 계정 관리
- jenkins
- awskrug
- 3티어 아키텍처
- it기사
- Linux
- dockerfile
- go
- Azure
- 함수
- 프로세스 관리
- aws사용자모임
- git hub
- 애저
- python
- 파이썬
- 클라우드
- OpenAI
- terraform
- AWS
- AI챗봇
- open ai
- maven
- AI
- 표준 라이브러리
- 리눅스
- docker
Archives
- Today
- Total
We are Architect
젠킨스로 배우는 CICD 파이프라인: 젠킨스 프리스타일 작성(15) 본문
* 이번에는 젠킨스를 사용해서 빌드를 하는 방법을 순서대로 알아보자
(!) 해당 글의 젠킨스 서버는 로컬 PC에서 가동하는 것이다. 만약 docker를 사용한다면 젠킨스 서버, 넥서스 리포지터리 컨테이너를 띄운 후에 네트워크를 연결해야 하며 maven 또한 젠킨스 컨테이너 안에서 수정하여 사용해야 한다.
그렇게 되면 복잡해지기 때문에 로컬에서 젠킨스를 설치하여 해보는 것을 권한다.
해당 실습은 실수가 많아서 권하지 않는다. 그냥 흐름만 알아보도록 하자.
* 젠킨스에서 메이븐 설정
- 해당 설정 빼고는 아무것도 건들지 않고 저장한다.
* 깃 리포지터리 자격증명 추가
- 깃랩 리포지터리에 사용될 자격증명을 만들어준다.
* 젠킨스에서 프리스타일 프로젝트 생성
- 먼저 프로젝트 생성
- 구성 페이지에서 git lab 리포지터리 URL 등록
- add build step 버튼 클릭하고 invoke top-level maven targets 옵션 선택
- Invoke Top-Level Maven Targets : Maven 기반 프로젝트를 빌드하고 테스트할 때 사용.
- Maven은 설정해 놓은 값 사용하고 목표는 deploy 후 프로젝트 구성 저장.
* pom.xml 파일 수정 및 자바 코드 추가
- 새로운 버전을 추가하기 위해서 자바 계산기 코드를 생성해서 배포하려고 한다.
package main.java;
// 파일명: Calculator.java
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("=== 계산기 ===");
boolean running = true;
while (running) {
System.out.println("\n선택하세요:");
System.out.println("1. 덧셈 (+)");
System.out.println("2. 뺄셈 (-)");
System.out.println("3. 곱셈 (*)");
System.out.println("4. 나눗셈 (/)");
System.out.println("5. 종료");
System.out.print("입력: ");
String choice = scanner.nextLine();
switch (choice) {
case "1":
case "+":
performOperation(scanner, "+");
break;
case "2":
case "-":
performOperation(scanner, "-");
break;
case "3":
case "*":
performOperation(scanner, "*");
break;
case "4":
case "/":
performOperation(scanner, "/");
break;
case "5":
System.out.println("계산기를 종료합니다.");
running = false;
break;
default:
System.out.println("잘못된 입력입니다. 다시 시도하세요.");
}
}
scanner.close();
}
private static void performOperation(Scanner scanner, String operator) {
System.out.print("첫 번째 숫자를 입력하세요: ");
double num1 = getValidNumber(scanner);
System.out.print("두 번째 숫자를 입력하세요: ");
double num2 = getValidNumber(scanner);
double result;
switch (operator) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
if (num2 == 0) {
System.out.println("0으로 나눌 수 없습니다.");
return;
}
result = num1 / num2;
break;
default:
System.out.println("잘못된 연산자입니다.");
return;
}
System.out.println("결과: " + result);
}
private static double getValidNumber(Scanner scanner) {
while (true) {
try {
return Double.parseDouble(scanner.nextLine());
} catch (NumberFormatException e) {
System.out.print("유효한 숫자를 입력하세요: ");
}
}
}
}
* 로컬 리포지터리에서 커밋과 푸시 실행
# 브랜치 설정
git checkout -b "SubtractionFunction"
# 스테이징 환경에 올리기
git add .
# 백업하기
git commit --m "Add subtraction function in Java API Project"
# 깃랩 리포지터리로 전송
git push --set-upstream https://gitlab.com/ljh_world/jenkinsbookcalulatorapi.git SubtractionFunction
* SubtractionFunction 브랜치를 깃랩 중앙 리포지터리 Master 브랜치와 병합
- 병합 요청 생성 수락.
- 변경내역 알림
- Assignee 은 할당 받을 사람을 지정.
- description은 할당 받을 때 표시 될 문구.
- 추가 옵션 섹션에서 Delete source branch when merge requeset is accepted 유지.
- 해당 옵션은 병합 요청이 수락되면 소스 브랜치를 삭제.
- merage를 눌러서 병합을 시켜준다.
- 병합된 이후 코드를 확인하기
* 이후에 넥서스 리포지터리에서 확인하여 코드가 업데이트된 버전이 있는 것을 확인한다.
'CI & CD > Jenkins' 카테고리의 다른 글
젠킨스로 배우는 CICD 파이프라인: 젠킨스 파이프라인 이해(16) (1) | 2024.12.30 |
---|---|
젠킨스로 배우는 CICD 파이프라인: Maven과 Nexus 리포지터리 통합(14) (2) | 2024.12.28 |
젠킨스로 배우는 CICD 파이프라인: Maven(13) (1) | 2024.12.27 |
젠킨스로 배우는 CICD 파이프라인: 넥서스(12) (2) | 2024.12.27 |
젠킨스로 배우는 CICD 파이프라인: Git(11) (3) | 2024.12.27 |