패키지 빌드

다양한 패키지 형식을 설치하고 빌드하는 방법을 배워보세요.

Composer

  1. my-composer-package이라는 디렉터리를 만들고 해당 디렉터리로 이동하세요:

    mkdir my-composer-package && cd my-composer-package
    
  2. composer init을 실행하고 프롬프트에 답하세요.

    네임스페이스에는 GitLab 사용자 이름이나 그룹 이름과 같이 고유한 네임스페이스를 입력하세요.

    composer.json이라는 파일이 생성됩니다:

    {
      "name": "<namespace>/composer-test",
      "description": "Library XY",
      "type": "library",
      "license": "GPL-3.0-only",
      "authors": [
        {
          "name": "John Doe",
          "email": "john@example.com"
        }
      ],
      "require": {}
    }
    

Conan

Conan 설치

선행 조건:

  • Conan 버전 1.x를 설치해야 합니다. Conan 버전 2 지원은 epic 8258에서 제안됩니다.

conan.io의 지침에 따라 로컬 개발 환경에 Conan 패키지 관리자를 다운로드하세요.

설치가 완료되면 터미널에서 Conan을 사용할 수 있는지 확인하세요:

conan --version

Conan 버전이 출력됩니다:

Conan version 1.20.5

CMake 설치

C++ 및 Conan으로 개발할 때 여러 사용 가능한 컴파일러를 선택할 수 있습니다. 이 예시에서는 CMake 빌드 시스템 생성기를 사용합니다.

CMake을 설치하려면:

  • Mac의 경우 Homebrew를 사용하여 brew install cmake을 실행하세요.
  • 다른 운영 체제의 경우 cmake.org의 지침을 따르세요.

설치가 완료되면 터미널에서 CMake을 사용할 수 있는지 확인하세요:

cmake --version

CMake 버전이 출력됩니다.

프로젝트 생성

패키지 레지스트리를 테스트하려면 C++ 프로젝트가 필요합니다. 이미 프로젝트가 없는 경우 Conan hello world starter project를 복제할 수 있습니다.

Conan 패키지 빌드

패키지를 빌드하려면:

  1. 터미널을 열고 프로젝트의 루트 폴더로 이동하세요.
  2. 새로운 레시피를 생성하려면 패키지 이름과 버전을 사용하여 conan new를 실행하세요:

    conan new Hello/0.1 -t
    
  3. Conan 사용자 및 채널을 사용하여 레시피를 통해 패키지를 생성하려면 conan create를 실행하세요:

    conan create . mycompany/beta
    
    note
    인스턴스 리모트를 사용하는 경우 특정한 명명 규칙을 따라야 합니다.

레시피 Hello/0.1@mycompany/beta로 패키지가 생성됩니다.

Conan 패키지 생성 및 관리에 대한 자세한 내용은 Conan 문서를 참조하세요.

Maven

Maven 설치

필수 최소 버전은 다음과 같습니다:

  • Java 11.0.5+
  • Maven 3.6+

로컬 개발 환경에 Maven을 다운로드하고 설치하려면 maven.apache.org의 지침을 따르세요. 설치가 완료된 후 터미널에서 Maven을 사용할 수 있는지 확인하세요:

mvn --version

출력은 다음과 유사해야 합니다:

Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T20:00:29+01:00)
Maven home: /Users/<your_user>/apache-maven-3.6.1
Java version: 12.0.2, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home
Default locale: en_GB, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.2", arch: "x86_64", family: "mac"

Maven 패키지 빌드

  1. 터미널을 열고 프로젝트를 저장할 디렉터리를 만드세요.
  2. 새 디렉터리에서 Maven 명령을 실행하여 새 패키지를 초기화하세요:

    mvn archetype:generate -DgroupId=com.mycompany.mydepartment -DartifactId=my-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    

    인수는 다음과 같습니다:

    • DgroupId: 패키지를 식별하는 고유한 문자열입니다. Maven 네이밍 규칙을 따르세요.
    • DartifactId: DgroupId의 끝에 추가되는 JAR의 이름입니다.
    • DarchetypeArtifactId: 프로젝트의 초기 구조를 생성하는 데 사용되는 원형입니다.
    • DinteractiveMode: 프로젝트를 대화식 모드로 생성합니다 (옵션).

다음 메시지가 프로젝트가 성공적으로 설정되었음을 나타냅니다:

...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.429 s
[INFO] Finished at: 2020-01-28T11:47:04Z
[INFO] ------------------------------------------------------------------------

명령을 실행한 위치에 새 디렉터리가 표시되어야 합니다. 디렉터리 이름은 이 경우 my-project와 일치해야 합니다.

Gradle

Gradle 설치

새로운 Gradle 프로젝트를 생성하려면 Gradle을 설치해야 합니다. 로컬 개발 환경에 Gradle을 다운로드하고 설치하려면 gradle.org의 지침을 따르세요.

터미널에서 Gradle을 사용할 수 있는지 확인하세요:

gradle -version

기존 Gradle 프로젝트를 사용하려면 프로젝트 디렉터리에서 Linux에서는 gradlew를 실행하고 Windows에서는 gradlew.bat를 실행하세요.

출력은 다음과 유사해야 합니다:

------------------------------------------------------------
Gradle 6.0.1
------------------------------------------------------------

Build time:   2019-11-18 20:25:01 UTC
Revision:     fad121066a68c4701acd362daf4287a7c309a0f5

Kotlin:       1.3.50
Groovy:       2.5.8
Ant:          Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM:          11.0.5 (Oracle Corporation 11.0.5+10)
OS:           Windows 10 10.0 amd64

패키지 생성

  1. 터미널을 열고 프로젝트를 저장할 디렉터리를 만드세요.
  2. 이 새 디렉터리에서 새 패키지를 초기화하려면 다음 명령을 실행하세요:

    gradle init
    

    출력은 다음과 같아야 합니다:

    Select type of project to generate:
      1: basic
      2: application
      3: library
      4: Gradle plugin
    Enter selection (default: basic) [1..4]
    
  3. 새 라이브러리 프로젝트를 생성하려면 3을 입력하세요. 출력은 다음과 같아야 합니다:

    Select implementation language:
      1: C++
      2: Groovy
      3: Java
      4: Kotlin
      5: Scala
      6: Swift
    
  4. 3을 입력하여 새 Java 라이브러리 프로젝트를 생성하세요. 출력은 다음과 같아야 합니다:

    Select build script DSL:
      1: Groovy
      2: Kotlin
    Enter selection (default: Groovy) [1..2]
    
  5. Groovy DSL로 설명된 새 Java 라이브러리 프로젝트를 생성하려면 1을 입력하세요. 또는 Kotlin DSL로 설명된 새 Java 라이브러리 프로젝트를 생성하려면 2를 입력하세요. 출력은 다음과 같아야 합니다:

    Select test framework:
      1: JUnit 4
      2: TestNG
      3: Spock
      4: JUnit Jupiter
    
  6. JUnit 4 테스트 라이브러리를 사용하여 프로젝트를 초기화하려면 1을 입력하세요. 출력은 다음과 같아야 합니다:

    Project name (default: test):
    

    프로젝트 이름을 입력하거나 Enter를 눌러 디렉터리 이름을 프로젝트 이름으로 사용하세요.

sbt

sbt 설치

새로운 sbt 프로젝트를 생성하려면 sbt를 설치하세요.

개발 환경에 sbt를 설치하려면 다음을 따르세요:

  1. scala-sbt.org의 지시 사항을 따르세요.

  2. 터미널에서 sbt를 사용할 수 있는지 확인하세요:

    sbt --version
    

    출력은 다음과 유사합니다:

    [warn] Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? (default: r)
    sbt script version: 1.9.8
    

Scala 프로젝트 생성

  1. 터미널을 열고 프로젝트를 저장할 디렉터리를 만드세요.
  2. 새 디렉터리에서 새 프로젝트를 초기화하세요:

    sbt new scala/scala-seed.g8
    

    출력은 다음과 같습니다:

    Minimum Scala build.
       
    name [My Something Project]: hello
       
    Template applied in ./hello
    
  3. 프로젝트 이름을 입력하거나 Enter를 눌러 디렉터리 이름을 프로젝트 이름으로 사용합니다.
  4. build.sbt 파일을 열고 프로젝트를 패키지 레지스트리에 발행하도록 sbt 문서에 설명된 대로 편집하세요.

npm

npm 설치

이 문서의 지침을 따라 로컬 개발 환경에 Node.js 및 npm을 설치하세요.

설치가 완료되면 터미널에서 npm을 사용할 수 있는지 확인하려면 다음을 실행하세요:

npm --version

npm 버전이 출력됩니다:

6.10.3

npm 패키지 생성

  1. 빈 디렉터리를 만드세요.
  2. 해당 디렉터리로 이동하여 빈 패키지를 초기화하세요:

    npm init
    
  3. 질문에 응답하세요. 패키지 이름네이밍 규칙을 따르고 레지스트리가 존재하는 프로젝트나 그룹에 범위가 지정되도록 확인하세요.

Yarn

Yarn 설치

npm 대신 Yarn을 로컬 환경에 설치하려면 classic.yarnpkg.com의 지침을 따르세요.

설치가 완료되면 터미널에서 Yarn을 사용할 수 있는지 확인하려면 다음을 실행하세요:

yarn --version

Yarn 버전이 출력됩니다:

1.19.1

패키지 생성

  1. 빈 디렉터리를 만드세요.
  2. 해당 디렉터리로 이동하여 빈 패키지를 초기화하세요:

    yarn init
    
  3. 질문에 응답하세요. 패키지 이름네이밍 규칙을 따르고 레지스트리가 존재하는 프로젝트나 그룹에 범위가 지정되도록 확인하세요.

package.json 파일이 생성됩니다.

NuGet

NuGet 설치

Microsoft의 지침에 따라 NuGet를 설치하세요. Visual Studio가 설치되어 있다면 NuGet이 이미 설치된 상태일 것입니다.

터미널에서 다음을 실행하여 NuGet CLI가 설치되었는지 확인하세요:

nuget help

출력은 다음과 유사해야 합니다:

NuGet Version: 5.1.0.6013
usage: NuGet <command> [args] [options]
Type 'NuGet help <command>' for help on a specific command.

Available commands:

[output truncated]

PyPI

pip 및 twine 설치

최신 버전의 piptwine을 설치하세요.

프로젝트 생성

테스트 프로젝트를 생성하세요.

  1. 터미널을 엽니다.
  2. MyPyPiPackage라는 디렉터리를 만들고 해당 디렉터리로 이동하세요:

    mkdir MyPyPiPackage && cd MyPyPiPackage
    
  3. 다른 디렉터리를 만들고 해당 디렉터리로 이동하세요:

    mkdir mypypipackage && cd mypypipackage
    
  4. 이 디렉터리에 필요한 파일을 생성하세요:

    touch __init__.py
    touch greet.py
    
  5. greet.py 파일을 열고 다음을 추가하세요:

    def SayHello():
        print("Hello from MyPyPiPackage")
        return
    
  6. __init__.py 파일을 열고 다음을 추가하세요:

    from .greet import SayHello
    
  7. 코드를 테스트하려면 MyPyPiPackage 디렉터리에서 Python 프롬프트를 시작하세요.

    python
    
  8. 다음 명령을 실행하세요:

    >>> from mypypipackage import SayHello
    >>> SayHello()
    

프로젝트가 성공적으로 설정되었음을 나타내는 메시지가 표시됩니다:

Python 3.8.2 (v3.8.2:7b3ab5921f, Feb 24 2020, 17:52:18)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from mypypipackage import SayHello
>>> SayHello()
Hello from MyPyPiPackage

PyPI 패키지 생성

프로젝트를 생성한 후 패키지를 생성할 수 있습니다.

  1. 터미널에서 MyPyPiPackage 디렉터리로 이동하세요.
  2. pyproject.toml 파일을 만드세요:

    touch pyproject.toml
    

    이 파일에는 패키지에 대한 모든 정보가 포함됩니다. 이 파일에 대한 자세한 내용은 creating pyproject.toml을 참조하세요. GitLab은 Python normalized names (PEP-503)를 기반으로 패키지를 식별하므로 패키지 이름이 이러한 요구 사항을 충족하는지 확인하세요. 자세한 내용은 installation section을 참조하세요.

  3. pyproject.toml 파일을 열고 기본 정보를 추가하세요:

    [build-system]
    requires = ["setuptools>=61.0"]
    build-backend = "setuptools.build_meta"
       
    [project]
    name = "mypypipackage"
    version = "0.0.1"
    authors = [
        { name="Example Author", email="author@example.com" },
    ]
    description = "A small example package"
    requires-python = ">=3.7"
    classifiers = [
       "Programming Language :: Python :: 3",
       "Operating System :: OS Independent",
    ]
       
    [tool.setuptools.packages]
    find = {}
    
  4. 파일을 저장하세요.
  5. 패키지 빌드 라이브러리를 설치하세요:

    pip install build
    
  6. 패키지를 빌드하세요:

    python -m build
    

출력은 새로 생성된 dist 폴더에서 확인할 수 있어야 합니다:

ls dist

출력은 다음과 유사해야 합니다:

mypypipackage-0.0.1-py3-none-any.whl mypypipackage-0.0.1.tar.gz

이제 패키지가 패키지 레지스트리에 발행할 준비가 되었습니다.