Cobra는 강력한 Cli 라이브러리로서 Go 기반에서 구동된다. 해당 모듈은 docker, kubernetes, hugo 등에서 사용될 정도로 안정적인 라이브러리 이다.

cobra github

Install

go get을 이용해서 package를 설치하고 코드에 import 해준다.


go get -u github.com/spf13/cobra/cobra


import "github.com/spf13/cobra"

Cobra Generator

Cobra Generator를 사용하면 손쉽게 Cobra를 적용할수 있다. cobra 팩키지가 설치된 경우 자동으로 cobra 프로젝트를 추가하거나 Command을 추가하는 명령을 사용할 수 있다. Generator는 $GOPATH 하위 리소스에서 사용가능하다.

초기화

init 명령으로 cobra에게 적합한 프로젝트 구성 및 자동으로 cobra 코드를 생성해 준다.

cobra init github.com/spf13/newApp

명령어 추가

main.go 파일이 위치한 폴더에서 아래 명령을 수행하면 해당 명령어가 추가되는 코드를 생성해 준다. https://github.com/spf13/cobra/blob/master/cobra/README.md#cobra-generator

cobra add server

수동으로 명령어 추가

Cobra Generator 를 사용하지 않는 경우 프로젝트에 직접 main.go 파일과 rootCmd 파일을 만들어야 하며 사용할 명령어를 직접 구현해야 한다. https://github.com/spf13/cobra