[CD/CD] 클라우드 기반 CI/CD 파이프라인 구축 -1
클라우드 기반의 CI/CD 파이프라인 직접 구성을 통해 이해를 하기 위해 프로젝트를 진행
단계는 4단계로 진행할 예정이다.
1. Code
- 로컬 PC에서 수행
2. Build
- GitLab에서 수행
3. Test
- GitLab runner에서 수행
4. Release
- 로깅 및 모니터링
구성 방식은 아래와 같다
1단계 PC(개발자 PC)에서 코드생성 및 셀프 취약점 점검 수행, Gitlab으로 Push
2단계 Push한 코드를 자동스크립트를 통해 Gitlab에서 자동 빌드
3단계 별도로 구축된 원격지 스테이징 서버에 별도의 Gitlab runner라는 별도의 모듈을 설치하여 데몬 운영
- 이를 통해 2단계에서 빌드된 결과물을 다운로드하고 컨테이너 이미지 생성 및 전체적인 취약점 점검 수행을 목표
4단계 취약점이 제거된 배포 이미지 운영
설치 및 환경 설정
1. OpneJDK 설치
다운로드 : https://jdk.java.net/archive/
Archived OpenJDK GA Releases
Archived OpenJDK General-Availability Releases This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception. WARNING: These older versions of the JDK are provided to he
jdk.java.net
Macbook을 사용하고 있기 때문에 macOS용 JDK를 다운로드 버전 23.0.2 -> 버전 문제로 11.02로 다시 다운로드
2. Maven 설치
- Maven는 프로젝트 소스 코드 빌드툴이며, 자바개발환경에서 과거에는 Ant, 현재는 Maven or Gradle이 사용된다
다운로드 : https://maven.apache.org/download.cgi
Binary tar.gz.archive 파일을 다운로드 3.9.9 버전
3. Git 설치
기존의 설치된 Git이 있기 때문에 이 과정은 스킵한다
git --version 명령어로 버전을 확인할 수 있다.
버전 2.39.5
4. IntelliJ(개발툴) 설치
- 젯브레인에서 개발한 JAVA 개발을 위한 툴
다운로드 : https://www.jetbrains.com/ko-kr/idea/download/download-thanks.html?platform=mac
IntelliJ IDEA를 다운로드해 주셔서 감사합니다!
www.jetbrains.com
[CD/CD] 클라우드 기반 CI/CD 파이프라인 구축 -1
클라우드 기반의 CI/CD 파이프라인 직접 구성을 통해 이해를 하기 위해 프로젝트를 진행 단계는 4단계로 진행할 예정이다. 1. Code - 로컬 PC에서 수행 2. Build - GitLab에서 수행3. Test - GitLab runner
kjk1128.tistory.com
프리티어로 30일 동안 IntelliJ의 모든 기능을 사용할 수 있다.
1단계 : 개발단계(Code)
Gitlab으로 프로젝트 업로드 하는 과정을 진행
소스코드 : https://gitlab.com/aackc/webgoat
Charlie Choi / webgoat · GitLab
GitLab.com
gitlab.com
mvn clean install -DskipTests 로 빌드 시작
JDK 버전 수정 후 정상적으로 적용 확인
빌드 완료 후 webgoat-server/target에 존재하는 빌드 결과물 실행
실행 후 localhost:8080/WebGoat 로 접속하면 아래와 같은 로그인 화면이 나타남
git 을 통해 webgoat 소스코드 불러오기 - 빌드 - 실행 후 결과 확인까지 완료
다음 글에서는 intelliJ 개발툴에 소스코드 취약점 점검 툴을 설치하여 취약점 점검을 진행할 예정이다.
진행 중 에러 사항
- JDK 버전이 맞지 않아 버전 다운 진행함 23 -> 11
- MacOS에서 진행하다보니 JDK 11 버전을 실행하기 위해서 [개인정보 보호 및 보안] 설정이 필요함 (프로그램 허용)
Maven 빌드 과정 중 오류가 발생하였으나 JDK 버전 변경 후 별도의 설정 없이 진행 완료