명령으로 BTP~CLI 준비

7069 단어 sapbtptech
이 문장은 SAP Advent Calendar 2021 12/6분의 문장으로 집필한 것이다.
https://adventar.org/calendars/6252

이른바 btp CLI


문자 그대로 SAP BTP를 명령선에서 조작하는 데 사용되는 도구입니다.
이것을 사용하면 다음과 같은 조작을 할 수 있다.
  • 하위 계정이나 디렉터리 만들기
  • 자격 정보 관리
  • 사용자 관리 등
  • 그나저나 이전에는 sapcp CLI로 사용되었던 것 같습니다.
    저는 sapcp CLI도 모르기 때문에 지금까지 SAP BTP를 조작했다면 화면부터 시작해야 하고 추가 사용자도 파키밖에 없다고 생각합니다.
    반복되는 작업은 명령으로 쉽게 수행할 수 있으므로 btp CLI를 조금씩 터치합니다.

    다운로드 및 설치


    공식적 방법


    SAP development tools#Cloud
    https://tools.hana.ondemand.com/#cloud
    에서 사용하는 OS용 파일을 다운로드하고 설치합니다.

    메서드


    공식에 기재된 내용을 전기하다.
  • Download the latest version of the client from the table below
  • Extract the client executable from the tar.gz archive
  • Linux: Use the terminal to extract the tar.gz archive with tar -vxzf
  • macOS: Open the tar.gz file with a double click
  • Windows: Use powershell to extract the tar.gz archive with tar -vxzf
  • Run btp from within the extracted folder or ensure that it's in your PATH.
  • 명령 집행


    하지만 어렵게 CLI를 사용하거나, WSL2를 사용하면 화면에서 다양한 조작을 하는 게 아니라 지령으로 인톨을 완성하려고 한다.
    그래서 찾으면 쉬운 방법이 있을 거예요.큰 도움이 됐습니다.
    https://github.com/ctapisab/sap-tech-bytes/tree/2021-09-01-btp-cli-installation

    메서드


    자세한 내용은 GiitHub의 README에 기재된 블로그에 맡기고 명령만 발췌합니다.
    getbtpcli를 다운로드합니다.
    > curl --remote-name --location --url "https://raw.githubusercontent.com/SAP-samples/sap-tech-bytes/2021-09-01-btp-cli/getbtpcli" && chmod +x getbtpcli
    
    getbtpcli를 실행하여 설치합니다.
    > ./getbtpcli
    
    Proceed (with Enter) only if you accept the SAP Developer Licence 3.1  
    (see https://tools.hana.ondemand.com/developer-license-3_1.txt) ...  
    Version is 2.10.0
    
    실행 파일 등이 HOME/bin에 구성되어 있으므로 PATH에 추가하여 사용하십시오.
    ※ fish의 예.config.fish 등 시작할 때 읽을 파일을 작성하십시오.
    set PATH $HOME/bin $PATH
    
    여기까지의 조작을dotfiles에 넣으면 더욱 쉽다.

    실행 후 확인


    help 찍어서 확인해봐.
    > btp --help
    
    Connecting to CLI server at https://cpcli.cf.eu10.hana.ondemand.com...  
    SAP BTP command line interface (client v2.10.0)  
      
    Usage: btp [OPTIONS] ACTION [GROUP/OBJECT] [PARAMS]  
      
    General actions  
    login Log in to a global account of SAP BTP  
    logout Log out from SAP BTP  
    target Set the default context for commands to the global account, a directory, or a subaccount  
    enable autocomplete Enable command autocompletion  
    disable autocomplete Disable command autocompletion  
      
    Actions for accounts/available-environment ...
    

    로그인


    도움만 받고 해봤어!단언할 수 없기 때문에 로그인을 실행합니다.
    btp login
    
    가장 먼저 물어본 것은
    CLI server URL [ https://cpcli.cf.eu10.hana.ondemand.com ]>
    이것은 btp CLI 서버의 URL입니다. 위에서 설명한 대로 확인되었으나 이 서버 이외에는 존재하지 않으므로 Enter 키를 눌러 수락합니다.
    다음은 다음 로그인 정보입니다.
    Global account subdomain>
    User>
    Password>
    이상 로그인 가능합니다.
    Login successful
    We stored your configuration file at:/xxxx/xxxxx/.cache/.btp/config.json
    (config가 store에 걸렸는데 다음부터 로그인을 건너뛸까요?)

    총결산


    로그인할 때까지니까 btp CLI의 기량이라고는 할 수 없지만 일단 여기까지만 하자.
    다음에는 help부터 btp CLI가 할 수 있는 일을 대충 추적하고 싶습니다.

    해보니까 알겠다. 조심해.


    bash와grep 버전


    bash


    특히 맥을 사용하는 경우 기본 버전은 대략'3.2.57'정도다.
    단, 이 버전은 변수 전개${parameter,pattern}를 지원하지 않기 때문에 getbtpcli의 아래 부분에서 실패하기 때문에 업그레이드가 필요합니다.
    declare -r ARCH="${PLATFORM,,}-amd64"
    
    Mac라면 brew install을 사용하면 간단합니다.

    grep


    마찬가지로 Mac를 사용할 때grep도 버전에 따라 다르기 때문에 -P 옵션을 사용할 수 없으며 아래 부위에서는 실패할 수 있습니다.
    grep -P -o '(?<=v)\d+\.\d+\.\d+'
    
    이쪽도 brew install로 하면 되지만 이렇게 하면grep이 되기 때문에 PATH에 추가해야 합니다.
    ※ fish의 예.
    set PATH /opt/homebrew/opt/grep/libexec/gnubin $PATH
    

    fish 셸에 대한 자동 보충 기능이 없습니다


    btp CLI에서 제공하는 다양한 명령과 옵션을 기억하는 것은 매우 어렵다.따라서 autoocomplete를 제공하지만 이에 대응하는 셸은 다음과 같습니다.
  • Bash
  • PowerShell
  • Zsh
  • 어쨌든 수량이 많은 셸에 대응하는 것은 모두 비현실적이다. 어쩔 수 없는 일이다.

    좋은 웹페이지 즐겨찾기