본문 바로가기

좋아하는 것_매직IT/96.IT 핫이슈

Sake - 로컬 & 리모트 서버들을 위한 명령 실행기를 소개합니다.

반응형

Sake - 로컬 & 리모트 서버들을 위한 명령 실행기를 소개합니다.

Sake 관련 Github Readme 에서는 아래와 같이 소개하고 있고요...
sake is a command runner for local and remote hosts. You define servers and tasks in a sake.yaml config file and then run the tasks on the servers.

한마디로 Sake 는 로컬 & 리모트 서버들을 위한 명령 실행기라고 머릿속에 넣어두시면 됩니다.

그럼, 간략하게 특징을 정리해 볼까요?
특징은 아래와 같이 정리해 볼 수 있고요..
- SSH로 다수 서버에서 명령을 실행해주는 CLI 도구  

- 여러대의 서버 또는 도커 컨테이너 대상으로 동작  
→ 모든 서버를 ping 하거나, 같은 명령(파일 찾기나 rsync등 ) 실행  
- 서버들의 정보를 불러와서 테이블로 표시 가능

설치는 아래와 같이 진행하시면 되고요..

Installation

sake is available on Linux and Mac.

  • Binaries are available on the release page
  • via cURL
  • curl -sfL https://raw.githubusercontent.com/alajmo/sake/main/install.sh | sh
  • via Homebrew
  • brew tap alajmo/sake
    brew install sake
  • Via GO install
  • go install github.com/alajmo/sake@latest

Auto-completion is available via sake completion bash|zsh|fish and man page via sake gen.

Building From Source

Requires go 1.18 or above.

  1. Clone the repo
  2. Build and run the executable
    make build && ./dist/sake
    
    # To build for all target platforms run (requires goreleaser CLI)
    make build-all

 

사용은 아래와 같이 하시면 됩니다.

Usage

Create a New Sake Config

Run the following command:

$ sake init

Initialized sake in /tmp/sake
- Created sake.yaml

Following servers were added to sake.yaml

 Server    | Host
-----------+---------
 localhost | 0.0.0.0

Run Some Commands

# List all servers
$ sake list servers

 Server    | Host
-----------+---------
 localhost | 0.0.0.0

# List all tasks
$ sake list tasks

 Task | Description
------+-------------
 ping | Pong

# Run Task
$ sake run ping --all

TASK ping: Pong ************

0.0.0.0 | pong

# Count number of files in each server in parallel
$ sake exec --all --output table --parallel 'find . -type f | wc -l'

 Server    | Output
-----------+--------
 localhost | 1

그외의 자세한 내용은 아래 github 를 참고하시면 좋을것 같네요..

그리고 라이센스에 대해서 알아보니..
 - MIT 라이센스이군요.. 이점도 참고해 보시면 좋을것 같고요..

오늘의 블로그는 여기까지고요..

항상 믿고봐주셔서 감사합니다.

728x90
300x250