@@ -3,10 +3,11 @@ OLIVE CLI
3
3
4
4
## 개요
5
5
6
- OLIVE CLI는 사용자 PC 환경에서 OLIVE Platform의 기능을 실행할 수 있도록 돕는 CLI(Command Line Interface) 도구입니다.< br />
6
+ OLIVE CLI는 사용자 PC 환경에서 OLIVE Platform의 기능을 실행할 수 있도록 돕는 CLI(Command Line Interface) 도구입니다.
7
7
CLI를 사용하면 터미널 프로그램의 명령 프롬프트에서도 브라우저 기반 OLIVE Platform과 동일하게 오픈소스를 스캔할 수 있습니다.
8
8
9
- > ** ★ 참고:** <br >
9
+ > ** ★ 참고:**
10
+ > - OLIVE CLI의 사용법, 명령어 등에 대한 자세한 설명은 [ 사용자 문서] ( https://olive.kakao.com/docs/cli/overview ) 를 참고해 주세요.
10
11
> - OLIVE CLI를 통해 OLIVE의 기능을 사용하기 위해서는 먼저 OLIVE에서 API 토큰을 발급받아야 합니다. 발급 방법은 다음의 [ API 토큰 발급하기] ( #API-토큰-발급하기 ) 를 참고해 주세요.
11
12
> - OLIVE CLI 다운로드는 [ 여기] ( https://github.com/kakao/olive-cli/releases ) 를 참고해주세요.
12
13
@@ -18,10 +19,6 @@ OLIVE CLI는 보안상 웹서비스 사용이 어렵거나, 소스코드 노출
18
19
* 소스코드가 전송되지 않음
19
20
* 특정 명령어(` report ` 및 ` apply ` )를 수행하지 않으면 클라이언트 측의 어떤 데이터도 서버에 저장되지 않음
20
21
21
- > ** ★ 참고:** <br />` report ` 및 ` apply ` 명령어 수행 시 저장되는 정보는 다음과 같습니다.
22
- >
23
- > - [ ` report ` 명령어 수행 시 저장되는 정보] ( https://olive.kakao.com/docs/cli/commands#report )
24
- > - [ ` apply ` 명령어 수행 시 저장되는 정보] ( https://olive.kakao.com/docs/cli/commands#apply )
25
22
26
23
## 면책조항
27
24
@@ -32,149 +29,4 @@ OLIVE CLI는 보안상 웹서비스 사용이 어렵거나, 소스코드 노출
32
29
- [ OLIVE Platform] ( https://olive.kakao.com )
33
30
- [ OLIVE CLI 사용자 문서] ( https://olive.kakao.com/docs/cli/overview )
34
31
- [ Relaese Note] ( https://github.com/kakao/olive-cli/releases )
35
-
36
- ## OLIVE CLI 실행하기
37
-
38
- OLIVE CLI는 환경별로 최신 배포된 바이너리를 다운로드해 별도 설치 과정 없이 바로 사용할 수 있습니다.
39
-
40
- > ** ★ 참고:** <br >
41
- > 실행 시 다운로드한 OLIVE CLI 바이너리 파일의 경로(Path)를 전역 환경변수로 지정해 사용하는 것을 권장합니다.
42
-
43
- ### OLIVE CLI 다운로드 위치
44
-
45
- 다음의 Kakao GitHub 레포지토리에서 다운로드할 수 있습니다.
46
-
47
- * ** OLIVE CLI 다운로드 위치:** https://github.com/kakao/olive-cli/releases
48
-
49
- ### 설정하기
50
-
51
- 사용하는 OS 환경에 맞게 실행 권한을 추가해야 합니다.
52
-
53
- #### Linux 및 Mac OS 공통
54
-
55
- 다음과 같이 실행 권한을 추가할 수 있습니다.
56
-
57
- ``` bash
58
- $ chmod +x olive-cli
59
- ```
60
-
61
- #### Mac OS 환경
62
-
63
- Mac OS 환경에서는 실행 시 확인되지 않은 개발자 배포 이슈가 나올 경우, [ 시스템 환경설정] > [ 보안 및 개인 정보] 에서 ** 확인 없이 열기** 를 클릭하여 실행합니다.
64
-
65
- ### 실행 전 주의사항
66
-
67
- OLIVE CLI 수행 시 특정 명령어에서 OLIVE Platform API 호출이 필요합니다. 방화벽이 있다면 다음 URL에 대한 아웃바운드(Outbound) 설정을 추가해야 합니다.
68
-
69
- | 명령어 | 메서드 | API URL |
70
- | --------------- | ------ | ------------------------------------------------- |
71
- | ` mapping ` | ` POST ` | ` https://olive-api.kakao.com/api/v1/cli/mapping ` |
72
- | ` report ` | ` POST ` | ` https://olive-api.kakao.com/api/v1/cli/report ` |
73
- | ` apply ` | ` POST ` | ` https://olive-api.kakao.com/api/v1/cli/apply ` |
74
- | ` add component ` | ` POST ` | ` https://olive-api.kakao.com/api/v1/cli/components ` |
75
- | ` notice ` | ` PUT ` | ` https://olive-api.kakao.com/api/v1/cli/notices ` |
76
-
77
- ### 실행 화면
78
-
79
- OLIVE CLI를 실행하면 다음과 같은 프롬프트 화면이 나타납니다.
80
-
81
- ``` bash
82
- ____ __ _____ ________ ________ ____
83
- / __ \/ / / _/ | / / ____/ / ____/ / / _/
84
- / / / / / / / | | / / __/ / / / / / /
85
- / /_/ / /____/ / | | / / /___ / /___/ /____/ /
86
- \_ ___/_____/___/ | ___/_____/ \_ ___/_____/___/
87
-
88
- Usage:
89
-
90
- olive-cli [-hV] [COMMAND]
91
-
92
- Description:
93
-
94
- OLIVE CLI
95
-
96
- Options:
97
- -h, --help Show this help message and exit.
98
- -V, --version Print version information and exit.
99
- Commands:
100
- init Initialize olive-cli configuration styles
101
- analyze Analyzing the dependencies used in project
102
- mapping Mapping components based on analysis results
103
- component Shows the component list
104
- license Shows the license list
105
- add Add manual things in scan
106
- report Report the analysis results.
107
- apply Apply the results of analysis.
108
- notice Download the preview of opensource software notice.
109
- status Shows the current status
110
- help Displays help information about the specified command
111
- ```
112
-
113
- ## 명령어 목록
114
-
115
- 다음은 OLIVE CLI 명령어 목록입니다. 자세한 설명을 확인하려면 각 명령어를 클릭해 주세요.
116
-
117
- | 명령어 | 설명 |
118
- | ------------------------------------------------------| ------------------------------------------------------------ |
119
- | [ ` init ` ] ( https://olive.kakao.com/docs/cli/commands#init ) | OLIVE CLI 사용을 위한 초기 설정을 진행하며, ` config.yaml ` 설정파일이 생성됩니다. |
120
- | [ ` analyze ` ] ( https://olive.kakao.com/docs/cli/commands#analyze ) | ` config.yaml ` 설정파일 기반으로 의존성 분석을 시작합니다. <br />분석이 완료되면 ` dependency.json ` , ` dependency.csv ` 파일이 생성됩니다. |
121
- | [ ` mapping ` ] ( https://olive.kakao.com/docs/cli/commands#mapping ) | ` analyze ` 명령어로 분석된 의존성을 컴포넌트에 매핑합니다. <br />매핑이 완료되면 ` mapping.json ` ` mapping.csv ` , ` unmapping.csv ` 파일이 생성됩니다. |
122
- | [ ` component ` ] ( https://olive.kakao.com/docs/cli/commands#component ) | 프로젝트가 사용한 컴포넌트를 조회합니다. <br />조회가 완료되면 ` component.json ` , ` component.csv ` 파일이 생성됩니다. |
123
- | [ ` license ` ] ( https://olive.kakao.com/docs/cli/commands#license ) | 프로젝트가 사용한 컴포넌트의 라이선스를 조회합니다. <br />조회가 완료되면 ` license.json ` , ` license.csv ` 파일이 생성됩니다. |
124
- | [ ` add component ` ] ( https://olive.kakao.com/docs/cli/commands#add-component ) | 사용자가 수동으로 컴포넌트를 추가합니다. |
125
- | [ ` report ` ] ( https://olive.kakao.com/docs/cli/command#report ) | 매핑이 되지 않은 의존성 목록을 관리자에게 전송합니다.<br /><br />★<b >참고:</b > 관리자가 해당 데이터를 리뷰하고 ` mapping ` 명령어를 다시 수행하여 컴포넌트에 매핑할 수 있습니다. |
126
- | [ ` apply ` ] ( https://olive.kakao.com/docs/cli/commands#apply ) | CLI 분석한 결과를 토대로 OLIVE Platform에 프로젝트를 생성합니다. |
127
- | [ ` notice ` ] ( https://olive.kakao.com/docs/cli/commands#notice ) | 프로젝트가 사용한 컴포넌트를 기반으로 고지문 미리보기를 생성합니다. |
128
- | [ ` status ` ] ( https://olive.kakao.com/docs/cli/commands#status ) | 현재 프로젝트 상태를 조회할 수 있습니다. |
129
-
130
- ## API 토큰 발급하기
131
-
132
- OLIVE CLI를 사용하기 위해서는 API 토큰이 필요합니다.
133
-
134
- API 토큰은 [ OLIVE Platform] ( https://olive.kakao.com ) ** 마이페이지** 하위의 ** Token 설정** 탭에서 생성할 수 있습니다.
135
-
136
- ![ token-generate] ( https://user-images.githubusercontent.com/2889542/164443414-f3c8d683-32b7-4bb9-9901-70050385bc18.png )
137
-
138
- ## 분석 가능 시스템
139
-
140
- 현재 분석 가능한 시스템은 다음과 같습니다. 다양한 시스템을 지원하도록 계속 업데이트할 예정입니다.
141
-
142
- | 번호 | 패키지 매니저 타입 | 분석 타입 | 의존성 타입 | 분석 대상 파일 |
143
- | ---- | ------------------ | --------- | ----------------- | ------------------------ |
144
- | 1 | MAVEN | BUILDER | GRADLE | - |
145
- | 2 | MAVEN | BUILDER | GRADLE_KTS | - |
146
- | 3 | MAVEN | PARSER | GRADLE | * .gradle |
147
- | 4 | MAVEN | PARSER | GRADLE_KTS | * .gradle.kts |
148
- | 5 | MAVEN | PARSER | POM_XML | pom.xml |
149
- | 6 | COCOAPOD | PARSER | PODFILE | Podfile, podfile |
150
- | 7 | COCOAPOD | PARSER | PODSPEC | .podspec |
151
- | 8 | SWIFT_PM | PARSER | PACKAGE_SWIFT | Package.swift |
152
- | 9 | RUBY_GEM | PARSER | GEMFILE | Gemfile |
153
- | 10 | PYPI | PARSER | SETUP_PY | setup.py |
154
- | 11 | PYPI | PARSER | REQUIREMENT_TXT | requirements.txt |
155
- | 12 | NPM | PARSER | PACKAGE_JSON | package.json |
156
- | 13 | GO_PACKAGE | PARSER | GODEP_JSON | Godeps.json |
157
- | 14 | GO_PACKAGE | PARSER | GOPKG_TOML | Gopkg.toml |
158
- | 15 | GO_PACKAGE | PARSER | GOPKG_LOCK | Gopkg.lock |
159
- | 16 | GO_PACKAGE | PARSER | GO_MODULE | go.mod |
160
- | 17 | SUPERMARKET | PARSER | BERKSFILE | Berksfile |
161
- | 18 | MAKE | PARSER | CMAKE_LIST_TXT | CMakeLists.txt |
162
- | 19 | MAKE | PARSER | ANDROID_MAKE | Android.mk |
163
- | 20 | SUBMODULE | PARSER | GIT_MODULES | .gitmodules |
164
- | 21 | USER_DEFINED | PARSER | DEPENDENCY_MAVEN | dependencyTree.maven |
165
- | 22 | USER_DEFINED | PARSER | DEPENDENCY_SCALA | dependencyTree.scala |
166
- | 23 | FRAMEWORK | SEARCHER | BINARY | * .framework |
167
- | 24 | LIBRARY | SEARCHER | BINARY | * .lib, * .jar, * .dll ... |
168
- | 25 | CARTHAGE | PARSER | CARTFILE | Cartfile |
169
-
170
- ### Apple Frameworks를 사용한 경우
171
-
172
- OLIVE CLI(v1.0.0)에서는 [ Apple Fromeworks] ( https://olive.kakao.com/component/detail?id=2043 ) 컴포넌트 자동 매핑을 지원하지 않고 있습니다. <br />
173
- 추후 개선될 예정이며, 다음의 정보를 참고하여 [ ` add component ` ] ( https://olive.kakao.com/docs/cli/commands#add-component ) 명령어로 수동 추가해 주시길 바랍니다.
174
-
175
- ```
176
- ---
177
- manual-components:
178
- - path: “/” # 컴포넌트를 사용한 위치
179
- url: “https://developer.apple.com/documentation” # 추가하고자 하는 컴포넌트 URL
180
- ```
32
+ - 문의하기 : <
a href =
" http://pf.kakao.com/_ztlfK/chat " ><
img src =
" https://t1.kakaocdn.net/together_image/svg/footer_kakaotalk.svg " height =
" 16px " width =
" 16px " ></
a >
  ;  ;  ; [ ✉
] ( mailto:[email protected] )
0 commit comments