JFrog 개요
JFrog는 2019년 2월 Shippable 인수를 통해 아티팩트 저장소에서 CI 및 CD 기능을 포함하는 DevOps 플랫폼으로 전환했습니다. 최근 2020년 3월, JFrog는 pre-integrated 솔루션인 'JFrog Platform'이라는 DevOps 플랫폼 출시를 발표했습니다. JFrog Pipelines, JFrog X-Ray 및 JFrog Source Composition Analysis 제품에서 공통 UI를 사용합니다. 이 솔루션은 이러한 개별 제품 간의 정보 통합을 용이하게 하는 공통 메타데이터 모델에 의해 지원됩니다. JFrog Artifactory, JFrog Pipelines 및 JFrog Xray의 세 가지 주요 제품 외에도 JFrog Distribution, JFrog Mission Control 및 JFrog Container Registry와 같은 다른 제품도 제공됩니다.
JFrog Artifactory는 배포 및 배포에 사용하기 위해 빌드 프로세스의 바이너리 출력을 저 장하도록 설계된 도구입니다. Artifactory는 다양한 패키지 형식을 지원합니다. JFrog Artifactory는 빌드 아티팩트에 대한 단일 소스를 제공하고 JFrog Distribution과 함께 작동하여 엔터프라이즈 전체에 대규모 아티팩트를 효율적으로 배포합니다.
JFrog Pipelines은 Artifactory 저장소와 잘 작동하는 CI/CD 제품입니다. JFrog 파이프라인은 기본 단계(bash로 빌드된 높은 순서의 집합)와 리소스(기본 단계에 대한 입력 또는 출력, 빌드, 통합 등과 같은 모든 유형일 수 있음)의 조합을 통해 작동합니다. JFrog 파이프라인은 기능적인 CI/CD 제품이지만 엔터프라이즈급 제품에는 일반적으로 제공되는 몇 가지 기능이 없습니다.
JFrog Xray는 JFrog 파이프라인 내 다양한 단계에 내장될 수 있는 보안 제품입니다. Xray는 모든 종속 코드에서 보안 취약점 감지를 지원하고 라이선스 준수 기능도 제공합니다.

JFrog Artifactory
Artifactory는 Maven, Debian, NPM, Helm, Ruby, Python 및 Docker와 같은 다양한 패키지 형식을 지원합니다. Artifactory는 또한 아티팩트를 만드는 데 사용된 모든 구성 요소의 전체 맵을 저장합니다. 이 정보는 JFrog Xray와 같은 다른 제품에 공급됩니다. JFrog Distribution을 사용하여 아티팩트를 원격 사이트에 효율적으로 배포할 수 있습니다.
GitLab은 또한 패키지를 저장하고 배포하는 기능을 제공하지만, 현재는 Maven, Docker, NPM과 같은 Artifactory보다 패키지 유형 호환성이 낮습니다. GitLab의 강점은 전체 DevOps 라이프사이클 동안 단일 제품을 제공하는 것입니다. 또한 GitLab CI/CD 및 보안 기능은 더 나은 기능을 제공하며 엔터프라이즈급 기능을 제공합니다.
JFrog Artifactory 강점
- 아티팩트 저장소로서의 강력한 시장 입지
- Maven, Debian, NPM, Helm, Ruby, Python 및 Docker와 같은 패키지 형식과 같은 패키지 형식을 광범위하게 지원
GitLab과 JFrog Artifactory의 차이(JFrog Artifactory의 단점)
JFrog Artifactory는 카테고리에서 업계 선두 주자이지만 GitLab과 큰 격차가 없습니다.
JFrog Pipelines
Shippable을 인수한 JFrog Pipelines는 기능적인 CI/CD 제품입니다. JFrog Pipelines는 'Native Steps'를 구축하여 CI-CD를 더 간단하게 만들려고 합니다. Yaml에서 설명할 수 있는 CI/CD 프로세스의 미 리 빌드된 구성 요소 또는 단계와 유사하여 사용자에게 낮은 수준의 복잡성을 드러내지 않습니다. 기본 단계의 몇 가지 예는 Docker 빌드, Docker 푸시, NPM 빌드, NPM 게시 및 XrayScan입니다. JFrog Pipelines에는 몇 가지 강점과 약점이 있습니다. JFrog Pipelines의 주된 약점은 긴 빌드 시간과 협업의 어려움입니다.
JFrog Pipelines 강점
- JFrog Artifactory와의 긴밀한 통합
- 기본 단계를 사용자 지정 코드와 혼합 및 일치시킬 수 있는 기능-즉석 작업을 줄이면서 사용자 지정할 수 있는 유연성을 제공
- 모두 재사용할 수 있는 단계(기본 및 사용자 지정), 리소스, 파이프라인의 핵심 개념으로 잘 설계됨
GitLab과 JFrog Pipelines의 차이(JFrog Pipelines 단점)
- 코드를 인식하고 파이프라인을 미리 빌드하는 기능인 AutoDevOps와 같은 엔터프라이즈급 기능이 부족
- 병합 요청 또는 여러 개발자가 쉽게 공동 작업할 수 있는 개체와 같은 컨테이너 개념이 없음
- 제출 대기열이 만들어지면 빌드 및 파이프라인을 자체 최적화할 수 없음
- 테스트와의 긴밀한 통합 부족-즉 테스트를 수행하는 기본 단계가 없음
- 병렬로 실행할 수 있는 상위-하위 파이프라인의 혁신적인 사용을 통해 빌드 프로세스 동안 테스트의 확장성이 부족
JFrog Pipelins와 GitLab의 유사점
| 기능 | 설명 |
|---|---|
| YAML 기반 | 파이프라인은 YAML Syntax 사용합니다. |
| 단계 재사용 | 단계를 데이지 체인으로 연결하고 여러 다른 컨텍스트에서 단계를 재사용할 수 있습니다. 기본 또는 기본 제공 단계는 작은 단위입니다. |
| 수평적 확장 | 수평으로 확장합니다. 확장함에 따라 시스템에 노드를 추가할 수 있습니다. 수평으로 확장하여 1,000개의 앱을 지원합니다. 모든 OS, 탄력적 빌드 노드를 위한 하나의 도구입니다. |
| 제품군 내 통합 | 최근 JFrog Platform 제품은 잘 통합되어 있습니다. Pipelines는 Artifactory 및 Xray와 통합합니다. |
JFrog 파이프라인에서 누락된 GitLab 기능
| 기능 | 설명 |
|---|---|
| Merge Request | Merge Request는 변경을 유도하는데 필요한 모든 메모, 작업 및 활동을 용이하게 캡처하는 구성 엔터티입니다. 또한 개발자는 변경 사항에 대해 협업합니다. JFrog Pipelines에서 이 기능이 없기 때문에 고객은 이러한 격차를 해소하기 위해 타사 제품에 의존해야 합니다. |
| Merge Trains | Merge Trains를 통해 사용자는 빌드를 예약, 관리 및 최적화할 수 있습니다. 이 기능은 많은 분산 개발자가 동일한 프로젝트에 코드를 제공할 때 매우 유용합니다. |
| Auto DevOps | Auto DevOps는 소스 코드 언어를 인식하고 빌드 및 배포에 필요한 파이프라인을 자동으로 설정합니다. 이를 통해 파이프라인을 구축하고 유지하는 시간을 절약할 수 있습니다. 이와 같은 스마트 기능은 JFrog에는 없습니다. |
| 부모 자식 파이프라인 | 부모-자식 파이프라인 기능은 여러 병렬 빌드를 가능하게 합니다. 이러한 빌드는 자체 조정되며 테스트 병렬화, 조건 매트릭스 빌드 및 테스트 등과 같은 여러 기능을 사용할 수 있습니다. JFrog에는 이 중요한 기능이 없습니다. |
| Review App | 리뷰 앱을 사용하면 개발자가 변경 사항을 빠르게 검토하고 승인할 수 있습니다. 이렇게 하면 전통적으로 값비싼 개발 테스트 주기가 필요하지 않습니다. 또한 분산된 팀이 변경 사항을 검토하고 조치를 할 수 있도록 합니다. 이 기능은 GitLab CI-CD 솔루션의 표준 부분으로 제공됩니다. JFrog는 리뷰 앱을 지원하지 않습니다. 고객은 JFrog를 사용할 때 추가 소프트웨어와 인프로가 필요합니다. |
| 기능 플래그 | 기능 플래그를 사용하면 Blue-Green 배포와 같은 다양한 배포 모델이 널리 사용되기 전에 변경 사항을 테스트할 수 있습니다. 이 기능은 JFrog에서 누락되었으며 추가 타사 소프트웨어 라이선스를 구 매해야 합니다. |
| 개발자 생산성 기능 | 개발자 생산성은 DevOps를 채택하는데 가장 큰 요인입니다. GitLab은 Merge Requests의 주석을 통해 빌드를 시작하는 등의 기능을 통해 개발자 생산성을 높입니다. 이러한 기능은 현재 JFrog에서 누락되었습니다. |
| 테스트 및 보안에 통합 | GitLab의 보한 소프트웨어 및 테스트 통합은 원활합니다. JFrog는 개별 제품을 단일 플랫폼에 통합했습니다. UX는 GitLab만큼 매끄럽지 않습니다. |
JFrog X-Ray
JFrox Xray는 VulnDB 데이터베이스 취약성에 대해 애플리케이션 구성 요소를 스캔하여 정적 애플리케이션 테스트 기능을 제공합니다. Xray는 또한 보안 정책 시행 및 라이선스 준수를 모니터링하는 기능을 제공합니다. 또한 Xray는 보안 정책 시행 및 라이선스 준수를 모니터링하는 기능을 제공합니다. Xray는 Intellij와 같은 IDE와 통합되어 개발자가 개발환경에서 보안 문제를 볼 수 있도록 합니다.
요약
| 기능 | GitLab | JFrog Xray |
|---|---|---|
| SAST | ✓ | ✓ |
| Dependency Scanning | ✓ | ✓ |
| Container Scanning | ✓ | ✓ |
| License Compliance | ✓ | ✓ |
| Auto Remediation | ✓ | ✓ |
| DAST | ✓ | x |
| Secrets Detection | ✓ | x |
| API Fuzzing | ✓ | x |
| Coverage Fuzzing | ✓ | x |
| IAST | x | x |
JFrog X-Ray 강점
- 개발하는 동안 혹은 바이너리 빌드가 끝난 후에 보안 스캔
- 라이선스 또는 보안 정책을 준수하지 않는 것으로 간주하는 아티팩트의 다운로드를 제한하는 기능
GitLab과 JFrog X-Ray의 차이(JFrog XRay 단점)
- DAST : Xray는 배포 후 단계로 확장되지 않음
- 코드 내 secrets detection이 안됨
- 개발자는 보안을 관리하기 위해 IDE에서 Xray UI를 왔다 갔다 해야 함
JFrog X-Ray와 GitLab의 유사점
| 기능 | 설명 |
|---|---|
| SAST | Xray는 SAST 기능을 제공하고 다른 IDE와 통합됩니다. 보한 취약점 정보를 위해 VulnDB를 사용합니다. |
| Container Scanning | Xray는 종속성 정보의 압축을 풀어 컨테이너와 바어너리를 스캔합니다. |
| Policy Enforcement | 보안 및 라이선스 정책을 정의할 수 있습니다. 정의된 기준으로 규칙이 추가됩니다. 조건이 충족되면 응답을 위해 웹훅을 트리거할 수 있습니다. R-Ray에는 정책을 위반하는 다운로드를 방지하는 기능도 내장되어 있습니다. |
| License Compliance | 소프트웨어 구성 요소에 대한 라이선스 정책. X-Ray는 알림/응답을 식별하고 트리거합니다. |
⚠️ 사전 동의 없이 2차 가공 및 영리적인 이용을 금하며, 온·오프라인에 무단 전재 또는 유포할 수 없습니다.