패키지 빌드
GitLab 패키지 레지스트리를 사용하여 다양한 패키지 형식의 패키지를 설치하고 빌드합니다. my-composer-package라는 디렉토리를 만들고 해당 디렉토리로 이동합니다: composer init을 실행하고 프롬프트에 응답합니다.
GitLab 패키지 레지스트리를 사용하여 다양한 패키지 형식의 패키지를 설치하고 빌드합니다.
Composer#
-
my-composer-package라는 디렉토리를 만들고 해당 디렉토리로 이동합니다:mkdir my-composer-package && cd my-composer-package -
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 1#
Conan 1 설치#
사전 요구 사항:
- Conan 버전 1.x를 설치해야 합니다.
conan.io의 지침에 따라 로컬 개발 환경에 Conan 패키지 관리자를 다운로드합니다.
설치가 완료되면 터미널에서 다음을 실행하여 Conan을 사용할 수 있는지 확인합니다:
conan --version
Conan 버전이 출력에 표시됩니다:
Conan version 1.20.5
CMake 설치#
C++ 및 Conan으로 개발할 때 다양한 컴파일러를 선택할 수 있습니다. 이 예제에서는 CMake 빌드 시스템 생성기를 사용합니다.
CMake를 설치하려면:
설치가 완료되면 터미널에서 다음을 실행하여 CMake를 사용할 수 있는지 확인합니다:
cmake --version
CMake 버전이 출력에 표시됩니다.
프로젝트 생성#
패키지 레지스트리를 테스트하려면 C++ 프로젝트가 필요합니다. 프로젝트가 없다면 Conan hello world 시작 프로젝트를 클론할 수 있습니다.
Conan 1 패키지 빌드#
패키지를 빌드하려면:
-
터미널을 열고 프로젝트의 루트 폴더로 이동합니다.
-
패키지 이름과 버전으로
conan new를 실행하여 새 레시피를 생성합니다:conan new Hello/0.1 -t -
Conan 사용자 및 채널로
conan create를 실행하여 레시피의 패키지를 생성합니다:conan create . mycompany/beta
레시피 Hello/0.1@mycompany/beta가 있는 패키지가 생성됩니다.
Conan 패키지 생성 및 관리에 대한 자세한 내용은 Conan 문서를 참조하세요.
Conan 2#
Conan 2 설치#
사전 요구 사항:
- Conan 버전 2.x를 설치해야 합니다. 기본 Conan 버전 2는 사용 가능하며 향후 개선 사항은 에픽 8258에서 추적할 수 있습니다.
conan.io의 지침에 따라 로컬 개발 환경에 Conan 패키지 관리자를 설치합니다.
설치를 완료한 후 다음 명령을 실행하여 터미널에서 Conan을 사용할 수 있는지 확인합니다:
conan --version
Conan 버전이 출력에 표시됩니다:
Conan version 2.17.0
Conan 2 프로필 생성#
Conan 2에 대한 프로필을 정의해야 합니다. 이미 프로필을 정의했다면 이 단계를 건너뜁니다.
프로필을 생성하려면 다음 명령을 실행합니다:
conan profile detect
프로필을 확인합니다:
conan profile list
명령이 출력에 프로필을 나열합니다:
Profiles found in the cache:
default
생성된 프로필은 일반적으로 시작하기에 충분합니다. Conan 프로필에 대한 자세한 내용은 Conan 2 프로필을 참조하세요.
CMake 설치#
C++ 및 Conan으로 개발할 때 다양한 컴파일러를 선택할 수 있습니다. 다음 예제에서는 CMake 빌드 시스템 생성기를 사용합니다.
사전 요구 사항:
설치가 완료되면 다음 명령으로 터미널에서 CMake를 사용할 수 있는지 확인합니다:
cmake --version
CMake 버전이 출력에 표시됩니다.
프로젝트 생성#
사전 요구 사항:
- 패키지 레지스트리를 테스트하려면 C++ 프로젝트가 있어야 합니다.
로컬 프로젝트 폴더로 이동하고 conan new 명령을 사용하여 cmake_lib 템플릿으로 "Hello World" C++ 라이브러리 예제 프로젝트를 생성합니다:
mkdir hello && cd hello
conan new cmake_lib -d name=hello -d version=0.1
더 고급 예제는 Conan 2 예제 프로젝트를 참조하세요.
Conan 2 패키지 빌드#
사전 요구 사항:
패키지를 빌드하려면:
-
이전 섹션에서 생성한
hello폴더에 있는지 확인합니다. -
Conan 사용자 및 채널로
conan create를 실행하여 레시피의 패키지를 생성합니다:conan create . --channel=beta --user=mycompany
레시피 hello/0.1@mycompany/beta가 있는 패키지가 생성됩니다.
Conan 패키지 생성 및 관리에 대한 자세한 내용은 패키지 생성을 참조하세요.
Maven#
Maven 설치#
필요한 최소 버전은 다음과 같습니다:
- Java 11.0.5+
- Maven 3.6+
maven.apache.org의 지침에 따라 로컬 개발 환경에 Maven을 다운로드하고 설치합니다. 설치가 완료되면 터미널에서 다음을 실행하여 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 패키지 빌드#
-
터미널을 열고 프로젝트를 저장할 디렉토리를 만듭니다.
-
새 디렉토리에서 다음 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인 DartifactId 매개변수와 일치해야 합니다.
Gradle#
Gradle 설치#
새 Gradle 프로젝트를 만들려면 Gradle을 설치해야 합니다. gradle.org의 지침에 따라 로컬 개발 환경에 Gradle을 다운로드하고 설치합니다.
터미널에서 다음을 실행하여 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
패키지 생성#
-
터미널을 열고 프로젝트를 저장할 디렉토리를 만듭니다.
-
새 디렉토리에서 다음 명령을 실행하여 새 패키지를 초기화합니다:
gradle init출력은 다음과 같아야 합니다:
Select type of project to generate: 1: basic 2: application 3: library 4: Gradle plugin Enter selection (default: basic) [1..4] -
3을 입력하여 새 Library 프로젝트를 만듭니다. 출력은 다음과 같아야 합니다:Select implementation language: 1: C++ 2: Groovy 3: Java 4: Kotlin 5: Scala 6: Swift -
3을 입력하여 새 Java Library 프로젝트를 만듭니다. 출력은 다음과 같아야 합니다:Select build script DSL: 1: Groovy 2: Kotlin Enter selection (default: Groovy) [1..2] -
1을 입력하여 Groovy DSL로 설명된 새 Java Library 프로젝트를 만들거나,2를 입력하여 Kotlin DSL로 설명된 프로젝트를 만듭니다. 출력은 다음과 같아야 합니다:Select test framework: 1: JUnit 4 2: TestNG 3: Spock 4: JUnit Jupiter -
1을 입력하여 JUnit 4 테스트 라이브러리로 프로젝트를 초기화합니다. 출력은 다음과 같아야 합니다:Project name (default: test): -
프로젝트 이름을 입력하거나 Enter를 눌러 디렉토리 이름을 프로젝트 이름으로 사용합니다.
sbt#
sbt 설치#
새 sbt 프로젝트를 만들려면 sbt를 설치합니다.
개발 환경에 sbt를 설치하려면:
-
scala-sbt.org의 지침을 따릅니다.
-
터미널에서 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 프로젝트 생성#
-
터미널을 열고 프로젝트를 저장할 디렉토리를 만듭니다.
-
새 디렉토리에서 새 프로젝트를 초기화합니다:
sbt new scala/scala-seed.g8출력은 다음과 같습니다:
Minimum Scala build. name [My Something Project]: hello Template applied in ./hello -
프로젝트 이름을 입력하거나 Enter를 눌러 디렉토리 이름을 프로젝트 이름으로 사용합니다.
-
build.sbt파일을 열고 sbt 문서에 설명된 대로 편집하여 패키지 레지스트리에 프로젝트를 게시합니다.
npm#
npm 설치#
npmjs.com의 지침에 따라 로컬 개발 환경에 Node.js와 npm을 설치합니다.
설치가 완료되면 터미널에서 다음을 실행하여 npm을 사용할 수 있는지 확인합니다:
npm --version
npm 버전이 출력에 표시됩니다:
6.10.3
npm 패키지 생성#
-
빈 디렉토리를 만듭니다.
-
해당 디렉토리로 이동하고 다음을 실행하여 빈 패키지를 초기화합니다:
npm init -
질문에 응답합니다. 패키지 이름이 명명 규칙을 따르고 레지스트리가 있는 프로젝트 또는 그룹으로 범위가 지정되어 있는지 확인합니다.
Yarn#
Yarn 설치#
npm의 대안으로, classic.yarnpkg.com의 지침에 따라 로컬 환경에 Yarn을 설치할 수 있습니다.
설치가 완료되면 터미널에서 다음을 실행하여 Yarn을 사용할 수 있는지 확인합니다:
yarn --version
Yarn 버전이 출력에 표시됩니다:
1.19.1
패키지 생성#
-
빈 디렉토리를 만듭니다.
-
해당 디렉토리로 이동하고 다음을 실행하여 빈 패키지를 초기화합니다:
yarn init -
질문에 응답합니다. 패키지 이름이 명명 규칙을 따르고 레지스트리가 있는 프로젝트 또는 그룹으로 범위가 지정되어 있는지 확인합니다.
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 설치#
프로젝트 생성#
테스트 프로젝트를 만듭니다.
-
터미널을 엽니다.
-
MyPyPiPackage라는 디렉토리를 만들고 해당 디렉토리로 이동합니다:mkdir MyPyPiPackage && cd MyPyPiPackage -
다른 디렉토리를 만들고 이동합니다:
mkdir mypypipackage && cd mypypipackage -
이 디렉토리에 필요한 파일을 만듭니다:
touch __init__.py touch greet.py -
greet.py파일을 열고 다음을 추가합니다:def SayHello(): print("Hello from MyPyPiPackage") return -
__init__.py파일을 열고 다음을 추가합니다:from .greet import SayHello -
코드를 테스트하려면
MyPyPiPackage디렉토리에서 Python 프롬프트를 시작합니다.python -
다음 명령을 실행합니다:
>>> 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 패키지 생성#
프로젝트를 만든 후 패키지를 만들 수 있습니다.
-
터미널에서
MyPyPiPackage디렉토리로 이동합니다. -
pyproject.toml파일을 만듭니다:touch pyproject.toml이 파일에는 패키지에 대한 모든 정보가 포함됩니다. 이 파일에 대한 자세한 내용은
pyproject.toml생성을 참조하세요. GitLab은 Python 정규화 이름(PEP-503)을 기반으로 패키지를 식별하므로, 패키지 이름이 이 요구 사항을 충족하는지 확인합니다. 자세한 내용은 설치 섹션을 참조하세요. -
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 = {} -
파일을 저장합니다.
-
패키지 빌드 라이브러리를 설치합니다:
pip install build -
패키지를 빌드합니다:
python -m build
출력은 새로 생성된 dist 폴더에서 확인할 수 있습니다:
ls dist
출력은 다음과 유사하게 나타납니다:
mypypipackage-0.0.1-py3-none-any.whl mypypipackage-0.0.1.tar.gz
이제 패키지를 패키지 레지스트리에 게시할 준비가 되었습니다.
