일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Collection
- 소켓
- Jenkins
- 액세스회선
- JPA
- mybatis
- AOP
- tomcat
- Set
- 캐시서버
- jdk
- sonarQube
- cloud
- DevOps
- LAN어댑터
- 허브
- ansible
- Pipeline
- docker
- 라우터
- Java
- map
- IntelliJ
- 방화벽
- container
- STREAM
- post
- Linux
- Spring
- gradle
- Today
- Total
목록분류 전체보기 (195)
거북이-https://velog.io/@violet_evgadn 이전완료
보호되어 있는 글입니다.
Maven 설치 1. opt 디렉터리 이동 & Maven 압축 파일 다운로드 sudo wget https://mirror.navercorp.com/apache/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz opt 디렉터리는 User가 추가적인(Optional) 프로그램을 설치할 때 활용하는 디렉터리로써 주로 응용프로그램을 opt 디렉터리에 설치한다. 우리가 설치할 Maven도 추가적인 프로그램이기 때문에 opt 디렉토리로 이동하여 Maven 압축 파일을 다운로드하겠다. 2. 다운로드한 Maven 압축 파일 풀기 sudo tar -xvzf apache-maven-3.8.6-bin.tar.gz 이름이 "3.8.6"으로 끝나는데 환경 변수 설정 시 "..
Java 설치 Jenkins나 SonarQube처럼 Java가 설치되어 있지 않으면 아예 동작되지 않는 Tool들도 있다. Python과 달리 Java는 Instance에 필수적으로 설치되는 것이 아니므로 직접 깔아주도록 하자. 0. Java 설치 여부 확인 java -version Java Version 확인 명령을 내렸을 경우 정상적으로 버전이 출력된다면 이미 자바가 설치되어 있는 것이다. 하지만 AWS Instance를 처음 만들었을 경우 아래와 같이 뜰 것이다. 그럼 Instance에 Java를 설치해보자. 1. Amazon Corretto jdk11 다운로드 sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-lin..
SSH Client Tool Termius 설치 SSH 접속을 수행하는 방법은 다양하다. 가장 원초적인 방법은 CLI 환경에서 "ssh [권한]@[IP Address] -p [Port Number]" 명령어를 통해 SSH Server에 접속하는 것이다. 문제는 여러 개의 서버를 동시에 관리하는 상황이라면 SSH Server에 접속할 때마다 해당 서버에 대한 IP Address, ID, Password, 접속 Port Number 등을 직접 입력해줘야 한다. 명령어를 입력하는 공간이 CLI이기 때문에 명령어 오타 같은 Human Error가 발생할 확률이 높아지며 직관적이지도 않다. 또한 귀찮다. (IT 업계에서는 "귀찮다"라는 것이 매우 큰 단점으로 간주된다. 실제로 현재 활용되고 있는 여러 Tool 중..
일단 기본적으로 AWS에 대한 회원가입이 되어 있는 상태여야 한다. 1. EC2 접속 EC2는 AWS의 핵심 서비스로써 AWS에서 제공하는 클라우드 컴퓨팅 서비스이다. EC2를 이미 사용했었다면 위 사진처럼 최근 방문한 서비스로 접속할 수도 있고 검색 창에 EC2를 입력하여 서비스를 사용할 수 있다. 2. 인스턴스 Section > 인스턴스 시작 클릭 3. 설정 값 채우기 ◎ Instance 설정에 대한 설명 이름 : Instance를 구분하기 위한 이름 기존에 존재하는 Instance와 이름이 동일해도 생성은 되지만 Instance 끼리 구별을 쉽게 하기 위해서는 목적성에 따라 이름을 적절히 설정하는 것이 중요하다 애플리케이션 및 OS 이미지 기존에 생성해놨던 AMI나 AWS에서 기본적으로 제공해주는 ..
Master-Slave Architecture란? 지금까지 우리는 Jenkins Server 1개를 생성하여 jenkins-server 측에서 모든 Build 및 배포 작업을 수행하였다. 이렇다 보니 Jenkins Server는 Poll SCM, Build, Test, Packaging, Deploy 등 모든 CI/CD 과정을 혼자 처리해야 했다. Jenkins를 사용하는 사람이 1명이고 관리하는 Project도 1개라면 큰 문제가 없겠지만, 실제로는 그렇지 않다. 여러 명의 사람이 1개의 Jenkins Server에 접근하여 CI/CD 절차를 수행할 것이며 Jenkins 측에서 관리해야 하는 Project들도 매우 많을 것이다. 이렇게 1개의 Jenkins Server가 여러 명의 개발자와 여러 개의 ..
1. SonarQube Scanner Plugin 설치 Jenkins 관리 > 플러그인 관리 > SonarQube 검색 후 설치한다. 2. Credential 등록 Credential이란 "자격증"이라는 의미로 보안 상 아무나 접근할 수 없게 막아 놓은 SSH Server나 Git Repository 등에 접속할 수 있게 해주는 출입증이다. SSH Server에 접근하기 위한 ID & Password도 Credential이고, Tomcat에 설정했던 권한을 가지고 있는 User 설정도 Credential이다. 우리는 SonarQube에 접속하기 위한 Credentials를 등록할 것이다. 2-1. Jenkins 관리 > Mange Credentials를 클릭한다. 2-2. Domains > (global..
1. Maven Project에 Plugin 추가 pom.xml의 태그 사이에 Sonarqube에 대한 Dependency를 추가해줘야 한다. org.sonarsource.scanner.maven sonar-maven-plugin 3.5.0.1254 Plugin의 version은 https://mvnrepository.com/artifact/org.sonarsource.scanner.maven/sonar-maven-plugin 사이트에서 원하는 버전을 활용하자. 필자는 최신 버전을 활용하겠다. 2. SonarQube token 생성 My Account > Security > User Token Section에서 SonarQube token을 생성할 수 있다. 위 창까지 접속했다면 Generate Toke..
SonarQube란? 코드의 품질을 높이기 위해 코드를 분석하여 문제가 있는 부분을 찾는 도구이다. 이렇게 Application을 실행시키지 않고 순수한 코드만을 분석해 코드 품질을 높이는 도구를 "정적 분석 도구"라고 하며 이 중 대표적인 도구가 Sonarqube이다. 정적 분석 도구가 필요한 이유는 Code가 Build 및 Test 하는 과정에 문제가 없더라도 코드 상에 취약점이나 문제점이 존재할 수 있다. 이런 코드 상에서만 발견할 수 있는 문제점을 진단하기 위해 정적 분석 및 동적 분석을 항상 동시에 수행해야 하는 것이다. Sonarqube의 대표적 기능은 아래와 같다. 코드 상 나타날 수 있는 버그를 찾음 보안 상 취약점이 존재하는 코드를 찾음 Code Smell(코드 내 불필요한 코드)를 찾음..
GitHub에 저장된 작업물을 가져와 Build 1. Jenkins 관리 > Gloabl Tool Configuration > Maven Section 확인 여기에서 중요한 것은 "Name"으로 지정한 값이다. 우리는 Build를 위해 Maven을 활용하므로 어떤 Maven을 활용하여 Build 과정을 수행해야 할지 명시해줘야 한다. 애초에 Jenkins 실행 환경에 Maven이 설치되어 있다면 문제 없지만 Maven 설치가 되지 않은 환경에서도 정상적으로 빌드 가능하게 만들기 위해선 이 설정을 해주는 것이 좋다. 2. 새로운 Item 생성후 Script 입력 이후 Pipeline Section에 가서 아래 구문을 입력한다. pipeline{ agent any tools { maven 'Maven3.8...