jib 개요 Jib은 Docker 데몬 없이 Java 애플리케이션에 최적화된 Docker 및 OCI 이미지를 빌드하고 Docker Hub와 같은 레지스트리로 저장하는 '플러그인'이다. jib은 gradle, maven과 같은 빌드툴과 함께 사용된다. jib과 기존 Dockerfile 기반 빌드 비교 위 그림과 같이 jib은 빌드와 Dockerfile 작성의 과정을 하나의 파이프라인으로 단일화한다. jib은 프로젝트를 빌드함과 동시에 컨테이너 이미지까지 만들어서 Docker Hub, AWS ECR 등 원하는 레지스트리에 푸시까지 해준다. jib 장점 1) Fast Jib은 애플리케이션을 여러 계층으로 분리하여 클래스에서 종속성을 분리한다. 이제 Docker가 전체 Java 애플리케이션을 다시 빌드할 때까지..
이번 포스팅에서는 Jenkins를 기반으로 CI(Continuous Integration)를 구축했던 과정을 다룬다. Jenkins에서 제공하는 플러그인들과 기능들을 활용하여 빌드 파이프라인 구성뿐만 아니라, 빌드 자동화, 테스트 자동화, 코드 품질 자동화 등의 작업을 파이프라인 상에 같이 연동시켜 사용하는 경우가 많다. 이번 포스팅에서는 Jenkins를 설치하고 간단한 빌드 파이프라인을 구축하는 과정만 다룰 것이고 아래와 같은 순서로 구성된다. 1) Jenkins 설치 및 기본 설정 (컨테이너 기반 Jenkins 설치, 플러그인 설치, SSH 셋업) 2) CI/CD Pipeline Job 구성 (GitHub 연동, Jenkinsfile 작성) 3) 이슈 처리 cf. Jenkins는 Java 프로그램이기..
Static Analysis vs Dynamic Analysis 정적분석과 동적분석은 모두 코드의 취약점을 발견하는데 목표를 두고 있다. 두 분석의 차이점은 분석기가 개발 주기에서 어느 시점에 수행되느냐에 있다. 동적분석은 애플리케이션의 실행 이후 시점에 수행되고 정적분석은 애플리케이션의 실행 이전 시점에 수행된다. 동적분석의 경우 애플리케이션을 실행시켜 애플리케이션 내 결함 및 취약점 분석, 메모리 및 쓰레드 결함 등을 분석할 수 있다. 이와 반대로 정적분석은 애플리케이션을 실행하지 않고 코드의 취약점을 분석하는데 목적이 있다. 정적분석과 동적분석의 목적에 대한 차이는 다음과 같다. - 정적분석: 개발 중 하면 안 될 것을 했는지 검사 - 동적분석: 개발 중 하려고 한 것을 잘했는지 검사 대표적인 분석..
'빌드'한다는 것의 의미 - 빌드한다는 것은 컴파일보다 훨씬 더 큰 의미를 갖는다. - 빌드툴의 설정파일에 라이브러리의 버전을 명시해주면 자동으로 다운받고 classpath에 추가해준다. (스프링'부트'의 starter를 사용하면 버전을 명시하지 않아도 관련된 의존성을 모두 다운로드 해줌) - 소스코드를 '컴파일'한다. - '테스트 코드'를 실행한다. - 컴파일된 코드를 packaging한다. (jar, war, zip, ddl, exe 등의 파일로 만든다.) - packaging된 파일을 주로 artifact(산출물)라 부르며 서버나 레퍼지토리에 배포한다. 즉, 소프트웨어를 '실행 가능한 하나의 단위'로 구성하는 과정이다. 빌드툴을 사용하는 이유 즉, 빌드도구는 위 일련의 복잡한 작업들을 자동화하고 기..
- Total
- Today
- Yesterday
- go
- GitOps
- github actions
- LFCS
- 쿠버네티스
- Non-Blocking
- 코틀린
- 컨트롤러
- golang
- jvm
- docker
- db
- argocd
- 우분투
- helm
- ubuntu
- container
- kafka
- spring
- ci/cd
- Linux
- K8s
- Stream
- CICD
- RDB
- Java
- 카프카
- rolling update
- Kubernetes
- Controller
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |