어떻게 자체 제작 설치 프로그램을 만듭니까

이 글은 스크립트, 응용 프로그램, 도구를 포장할 수 있는 자체 설치 프로그램을 만드는 방법을 설명합니다. 이 예는 Kotlin (자바) 기반 프로그램입니다.Slate Kit이라는 코틀린을 위해 완성된 것으로, 여기는 Git이다.
스크립트, 응용 프로그램, 도구를 구축하는 것은 소프트웨어 공학의 일부분이자 매우 흔히 볼 수 있는 임무이다.그러나 이 과정은 실행 가능한 프로그램, 설치, 마운트 해제, 업그레이드, 의존 항목/자원을 포장하는 것과 관련이 있다.이것은 매우 자질구레할 수도 있고 좀 복잡할 수도 있다.다행히도 홈brew 같은 패키지 관리자는 대부분의 템플릿 파일을 처리할 수 있습니다.홈 brew가 훌륭하고 소프트웨어를 설치하는 최종 사용자로서 사용하기 쉽지만, 설치 프로그램을 만드는 문서와 안내서가 찾아보기 어렵다는 것을 알았습니다.

조항.


설치 프로그램의 세부 사항을 작성하기 전에, 우리는 먼저 몇 가지 용어와 개념을 이해해야 한다.그중 대다수는 이곳에서 Homebrew Terms이라고 표시한다.그러나 나는 본문과 관련된 내용을 상세하게 논술하고 싶다.다음 그림에도 이러한 내용이 나와 있습니다.

  • 패키지: "자제 용어"부분에 패키지가 열거되어 있지 않지만, 기본적으로 설치하고 사용할 스크립트, 응용 프로그램, 도구입니다.실행 가능한 파일과 모든 자원을 포함합니다.

  • 공식: 공식은 Mac OS에서 패키지를 정의하고 설치하는 Ruby 설치 스크립트입니다.홈 brew는 Ruby 기반이기 때문에 공식은 Ruby 스크립트입니다. 보통 패키지의 실행 가능한 파일과 자원을 다른 설치 디렉터리로 이동합니다.

  • Tap:Tap은 하나 이상의 공식을 포함하는 git 저장소입니다.홈brew에서 tap (git repo) 을 공식의 원본으로 불러오는 것을 지시할 수 있습니다.헤더의 접두사는 반드시 homebrew-이어야 한다.

  • 버전: 설치할 패키지의 버전 번호(예: v1.38.0)
  • 다이어그램



    예.


    이것은tap을 설정하고 패키지를 설치한 후에 패키지를 사용하는 전체 과정의 빠른 예이다.이 예에서 tap은 slatekit/slatekit(자제는 homebrew- 접두사를 사용하여 자동으로 해석하기 때문에 실제로는 slatekit/homebrew-slatekit이고 공식은 slatekit(slatekit.rb)이라고도 하며 마지막으로 실행할 수 있는 스크립트는 slatekit(Kotlin 프로그램을 실행하는 bash 스크립트)이다.
    # Set tap (shortcut to github.com/slatekit/homebrew-slatekit)
    :> brew tap slatekit/slatekit
    
    # Install formula slatekit.rb to install the package 
    :> brew install slatekit 
    
    # Finally use the package ( slatekit script )
    :> slatekit new app -name="Sample1" -packageName="mycompany.apps"
    

    1단계: 포장


    먼저 설치하고 사용할 실제 패키지를 위한git repo를 만들어야 합니다.라이브러리, 의존 항목, 자원은git repo에 저장되어야 합니다.이 예에서 그것은 Slate Kit CLI이다.slatekit이라는 파일이 있습니다. 이것은 실제 도구의 셸 스크립트를 표시합니다.환매 협의에 포함된 모든 항목을 포함하는 zip/tar, 예를 들어 v1.34.5을 만들기 위해 이 패키지의 발행판을 만들어야 합니다.이것은 Kotlin/자바 기반 프로그램이기 때문에 리포는 라이브러리 (JAR) 와 일부 자원, 그리고 실행 가능한 파일을 포함합니다.이 Kotlin/자바 프로그램은 처음에gradle 'application' 플러그인으로 구축되었고, gradle distZip을 실행하여 slatekit 셸 스크립트와 모든 라이브러리를 포장합니다.

    2단계: 터치


    설치할 자체 공식을 포함하는git repo를 만들어야 합니다.수도꼭지는 하나 이상의 공식을 포함할 수 있다.이 예에서 머리를 뽑는 것은 slatekit/homebrew-slatekit이다.이 수도꼭지는 자체 제작을 위해 레시피를 찾는 곳을 제공했다.일부 레시피는 Homebrew에 제출하여 적당한 심사 비준을 진행하고 클릭 없이 얻을 수 있지만, 본 예는 사용자 정의 클릭을 사용하기 때문에 심사 절차를 통과할 필요가 없습니다.
    주:git 환매 협의의 명칭은 반드시 homebrew-으로 시작해야 한다

    3단계: 공식


    패키지를 정의하고 설치 절차를 수행하는 공식을 만들어야 합니다.공식은 상기 패키지의 url/버전에 대한 인용을 포함하기 때문에 brew는 패키지를 다운로드하여 내용을 설치할 수 있도록 압축을 풀 수 있습니다.이 예의 공식은 slatekit.rb이다.공식에서 가장 관련된 내용은 URL,sha와 설치 방법의 절차입니다.
    class Slatekit < Formula
      url "https://github.com/slatekit/slatekit-cli/archive/v1.34.5.tar.gz"
      sha256 "e95375f92a8c0e86082d9b22e11bd6a414ee0de9df77dda84d6bb6dc21061647"
    
      # ...
    
      def install
        bin.install 'slatekit'
        prefix.install Dir["lib"]
        prefix.install Dir["conf"]
        prefix.install Dir["templates"]
        puts "Completed install"
      end
    end
    
    소프트웨어 패키지 URL의 sha를 얻을 수 있는 두 가지 방법이 있는데 예를 들어 위 포럼의 e95375f92a8c0e86082d9b22e11bd6a414ee0de9df77dda84d6bb6dc21061647이다.

    옵션 1


    curl -L https://github.com/slatekit/slatekit- cli/archive/v1.34.5.tar.gz > 1.34.5.tar.gz
    shasum -a 256 1.34.5.tar.gz
    

    선택 2


    다음 brew create 명령을 실행하면 스크립트는/usr/local/Homebrew/Library/taps/Homebrew/Homebrew core/Formula/slatekit cli 에서 생성됩니다.rb가 sha를 가지게 됩니다.
    brew create https://github.com/slatekit/slatekit- cli/archive/v1.34.5.tar.gz
    

    프로세스


    설치 단계에서 발생하는 일에 관해서는 몇 가지 중요한 점이 있다.다운로드한 패키지 버전에서 무엇을 설치할지 지정할 수 있습니다.

  • 버전은 자체 제작 소프트웨어가 패키지의 버전 제어를 제공하기 때문에 이 패키지 디렉터리는 공식의 버전과 상응할 것이다. 예를 들어 v1.34.5, 그리고 /usr/local/Cellar/slatkit/1.34.5에 설치될 것이다.

  • 상자.설치: 이 호출은 slatekit 셸 스크립트를 bin 디렉터리 /usr/local/Cellar/slatkit/1.34.5/bin으로 이동하여 실행할 수 있고 명령줄에서 호출할 수 있습니다.

  • 접두사install This call은 이 버전의 폴더에 압축 해제 패키지의 디렉토리를 설치합니다.e, g. 가방의 lib 디렉터리를 /usr/local/Cellar/slatkit/1.34.5/lib으로 이동
  • 설치하다.


    마지막으로 이 설정을 완료하면 다음 명령만 실행하면tap과 패키지를 설치할 수 있습니다.
    brew tap slatekit/slatekit
    brew install slatekit
    
    첫 번째 줄 brew tap slatekit/slatekit은 실제로는 https://github.com/slatekit/homebrew-slatekit에서tap과 공식을 다운로드하여 호출한다.두 번째 호출 brew install slatekitslatekit.rb 공식을 실행하는 호출입니다.
    참고:
    설치 중에 문제가 발생할 수 있습니다.
  • Homebrew slow install
  • Homebrew issues on Mac OS Catalina
  • 실행


    지금 이 패키지를 설치하면 즉시 그것을 사용할 수 있습니다.이 예에서 slatekit은 새로운 프로젝트를 생성합니다.그래서 우리는 그것을 이렇게 사용할 수 있다.
    slatekit new app -name="MyApp1" -packageName="company1.apps"
    slatekit new api -name="MyAPI1" -packageName="company1.apis"
    slatekit new job -name="MyJob1" -packageName="company1.jobs"
    slatekit new cli -name="MyCLI1" -packageName="company1.apps"
    

    마운트 해제


    만약 네가 모든 물건을 마운트 해제하고 싶다면, 너는 이렇게 할 수 있다
    brew uninstall slatekit
    brew untap slatekit/slatekit
    

    업그레이드


    마지막으로 패키지를 새 버전으로 업그레이드하려면 패키지의 새 버전을 발표하고 공식의 URL을 변경한 다음 다음과 같은 동작을 실행하십시오.
    brew upgrade slatekit
    

    결론


    자, 드디어 도착했습니다.명령행 도구로 slatekit개의 프로젝트를 생성할 수 있는 자체 제작 설치 프로그램을 만들었습니다. 새 사용자가 쉽게 입문할 수 있도록 합니다.처음에는 많이 들리는 것 같지만 가방 (스크립트, 응용 프로그램, 도구),tap (git repo for for formulas),formula (installer) 세 가지 개념만 있습니다.도움이 됐으면 좋겠어요!

    좋은 웹페이지 즐겨찾기