일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- awskrug
- AI
- 애저
- jenkins
- GIT
- 사용자 계정 관리
- git hub
- AWS
- terraform
- dockerfile
- AI챗봇
- 리눅스
- aws사용자모임
- python
- 클라우드
- 함수
- Linux
- nexus
- 명령어
- 프로세스 관리
- 표준 라이브러리
- 변수
- it기사
- maven
- go
- open ai
- 3티어 아키텍처
- docker
- Azure
- 파이썬
- Today
- Total
목록CI & CD (16)
We are Architect
현재 글의 대한 실습은 컨테이너를 사용하여 젠킨스 서버 및 여러 서버들을 가동시킬 것이다. * 젠킨스 파이프 라인 사실 파이프 라인을 구현 하려고 젠킨스를 공부해 온 나로서 여기까지 오는 게 쉽지 않았다. 그래서 한번 열심히 해보고자 한다.젠킨스 파이프 라인은 젠킨스를 사용해 코드를 통합하고 배포하기 위해 사용하는 플러그인 스크립트 모음이다.좀 더 자세히 이야기 하면 버전 제어 시스템에서 가져온 코드를 애플리케이션으로 만들어 고객과 사용자에게 전달할 때까지의 프로세스를 자동으로 실행할 수 있도록 코드로 작성한 표현식이다.애플리케이션에서 수행하는 모든 변경 사항은 최종 릴리스가 되기까지 복잡한 빌드 프로세스를 거친다.코드를 사용하기 위해서는 API가 필요하고 여러가지의 함수 또한 필요하다. * 파이프라인..
* 이번에는 젠킨스를 사용해서 빌드를 하는 방법을 순서대로 알아보자 (!) 해당 글의 젠킨스 서버는 로컬 PC에서 가동하는 것이다. 만약 docker를 사용한다면 젠킨스 서버, 넥서스 리포지터리 컨테이너를 띄운 후에 네트워크를 연결해야 하며 maven 또한 젠킨스 컨테이너 안에서 수정하여 사용해야 한다.그렇게 되면 복잡해지기 때문에 로컬에서 젠킨스를 설치하여 해보는 것을 권한다. 해당 실습은 실수가 많아서 권하지 않는다. 그냥 흐름만 알아보도록 하자. * 젠킨스에서 메이븐 설정해당 설정 빼고는 아무것도 건들지 않고 저장한다. * 깃 리포지터리 자격증명 추가깃랩 리포지터리에 사용될 자격증명을 만들어준다. * 젠킨스에서 프리스타일 프로젝트 생성먼저 프로젝트 생성 구성 페이지에서 git lab 리포지터리 ..
* Maven과 Nexus 리포지터리 통합하기메이븐과 넥서스 리포지터리를 통합하여 메이븐으로부터 빌드가 되면 넥서스에 아티팩트가 저장되는 것을 볼 것이다. 실제로 젠킨스 파이프라인에서도 구성되는 단계이다. * 메이븐으로 새로운 프로젝트 생성다음과 같은 메이븐 명령어를 사용하여 생성한다.명령어의 뜻은 다음과 같다. mvn archetype:generate :Maven의 Archetype 플러그인을 호출하여 프로젝트를 생성Archetype은 프로젝트의 기본 구조를 자동으로 생성하는 템플릿-DgroupId= : 프로젝트의 그룹 ID를 설정-DartifactId= : 프로젝트의 아티팩트 ID를 설정.생성되는 프로젝트의 이름으로, 디렉토리 이름과 기본 JAR 파일 이름으로 사용.-DarchetypeArtifact..
* 메이븐이란? Maven은 Java 프로젝트 관리 도구로, 프로젝트의 빌드, 의존성 관리 그리고 배포를 자동화하고 효율적으로 관리할 수 있게 해 준다.* 메이븐 설정 파일 메이븐은 setting.xml이라는 파일을 가지고 설정을 한다. Maven 동작을 사용자 환경에 맞게 커스터마이징 할 수 있게 하는 파일.해당 파일의 경로는 다음과 같다. C:\apache-maven-3.9.9\conf\setting.xml필자는 apache-maven-3.9.9 사용 중사용자 설정은 ~/.m2/settings.xml특정 사용자에게만 적용되는 설정 파일.사용자 환경에 맞는 설정을 제공. * 메이븐 설정 파일 기본 구조로컬 저장소 위치 설정기본적으로 ~/.m2/repository를 사용하지만, 이 항목으로 경로를 변경할..
* 넥서스 리포지터리의 이해넥서스는 아티팩트 리포지터리이다.무슨 소리냐면 빌드 과정에서 나오는 산출물들을(.jar, .war)들을 관리하는 시스템(리포지터리)이다.넥서스는 아티팩트를 릴리스하고 필요에 따라 사용자가 아티팩트를 다운로드할 수 있는 기능을 제공하는 플랫폼이다. * 넥서스 리포지터리 설치하는 법해당 링크에서 다운로드한다. 그리고 원하는 위치에 압축을 해제한다. https://help.sonatype.com/en/download.html DownloadNexus Repository OSS is distributed with Sencha Ext JS pursuant to a FLOSS Exception agreed upon between Sonatype, Inc. and Sencha Inc. S..
* git 이란?깃은 버전 관리 시스템이다. 해당 도구로 다양한 코드 버전을 유지하면서 변경 사항을 추적할 수 있다.새로운 코드 기능을 추가하고 낡은 기능을 제거하고, 기존 기능을 업데이트하는 작업들을 할 수 있게 된다.다양한 개발자들이 같이 협업하는데 도움이 되는데 왜냐하면 중앙 리포지터리에 작업한 내용들을 보낼 수 있기 때문이다.소스 관리 시스템의 세 가지 유형중앙집중식 버전 관리 시스템 : 특정 서버에서 운영되는 레포지터리 시스템 방식.로컬 버전 관리 시스템 : 로컬 리포지터리 사용하는 방식.분산 버전 관리 시스템 : 로컬 + 중앙집중식 방식이 합쳐서 사용되는 시스템 방식. 코드 변경과 테스트는 로컬에서 진행된다.코드 병합은 중앙 리포지터리에서 진행된다. 설치 및 자세한 내용은 Git Hub 포스..
* 매개변수형 프로젝트만약 외부 입력을 받아야 하는 작업이 있다면 This project is parameterized 체크박스를 선택한다. 그러면 부울형이나 문자형처럼 필요한 외부 입력 유형을 지정할 수 있다. 예를 들어 문자열을 입력으로 보내려면 String Parameter옵션을 선택한다. * 프로젝트 비활성화오른쪽 위의 토글 버튼으로 변경할 수 있다. 이 옵션을 비활성화 하면 작업이 실행되지 않으며 새로운 빌드 또한 실행되지 않는다. 필수 인프라가 없어서 일시적으로 특정 작업을 사용하지 않는 경우 유용한 설정값이다. * 동시 빌드 실행기본적으로 작업 실행은 한번에 하나만 가능하나 실행 버튼을 여러 번 클릭하면 현재 실행 중인 작업이 완료될 때까지 대기열에 추가되는 방식이다. 이러한 기본 실행 ..
* 젠킨스에서 사용자 관리란?젠킨스는 여러 팀원이 사용하는 도구이다. 어느 인원은 관리자를 담당하고 다른 인원은 최소한의 접속권한만 갖는다.이러한 사용자의 권한을 부여하면 가장 먼저 사용자를 만들어야 한다. 그리고 혹은 삭제하거나 정보를 수정해야 한다. * 젠킨스 사용자 생성젠킨스에서 사용자 관리 섹션은 다음과 같다.사용자 만들기오른쪽에 create user를 누르면 새로운 사용자를 만들 수 있다. * 젠킨스 사용자에게 역할 할당 사용자에게 역할을 할당하려면 우선 역할과 권한을 생성하고 역할에 권한을 부여하는 과정이 필요하다.우선 권한을 생성하려면 역할-기반 권한 부여 전략 플러그인을 설치해야 한다. * 역할-기반 권한 부여 전략 플러그인 설치플러그인 관리자 페이지로 이동.플러그인 설치Role-ba..
* 자격 증명 관리란?젠킨스 서버가 다른 외부 도구들을 이용하기 위해서 도구들에 접속할 수 있게 도와주는 비밀번호 및 API토큰을 관리하는 방식이다.예를 들어 젠킨스가 접속하려는 시스템에서 기본 인증을 요구한다면 사용자 이름과 비밀번호를 제공해야 한다.혹은 SSH인증을 요구하면 개인키를 제공해야한다. 젠킨스에서는 인증에 필요한 정보를 자격 증명이라고 한다. 젠킨스에서는 자격증명 항목을 생성하고 인스턴스 내에 이 정보를 저장할 수 있다. * 자격 증명 항목 생성넥서스나 깃 등의 외부 도구에서 사용자를 인증하는 데 사용하는 기법은 여러가지가 존재.기본 인증(비밀번호)SSH 인증(개인키)API 토큰인증서젠킨스의 자격증명 플러그인을 사용하면 다양한 유형의 작격 증명을 생성하고, 필요 인증 정보를 저장할 수 ..
* 젠킨스 보안 설정젠킨스에서는 인증과 권한 부여 기능을 설정하는 기능이 존재한다.인증은 로그인과 같이 시스템에 접속하는 사용자의 신원을 확인하는 절차를 이야기한다.권한 부여 기능은 말 그대로 사용자에게 시스템 기능에 접근할 수 있는 권한을 부여해 준다. * 젠킨스의 전역 보안 구성젠킨스의 보안 관련 설정은 해당 페이지에서 설정한다.보안 관련 설정들Disable “Keep me signed in”(내 정보 기억 비활성화) : 이 옵션은 선택 해제된 상태가 기본값이며 해당기능은 마치 구글의 비밀번호 등을 쿠키 데이터로 기억해서 자동 로그인 시키는 시스템.Security Realm : 사용자 인증을 담당하는 보안 시스템을 설정하는 섹션 delegate to servlet container(서블릿 컨테이너에..