vcs

Packagist.org Git 프로젝트 등록

C/H 2018. 7. 6. 08:30


순서

  1. packagist.org 로그인 - github.com 계정으로 회원가입이 가능하다.
  2. Package 올리기
  3. 자동 업데이트 설정

Package 올리기

다른건 참고 페이지 내가 만든 PHP Composer 패키지를 Packagist.org 에 등록하는 방법를 보면 잘 설명이 되어 있다.
이 페이지에서는 composer.json과 패키지를 등록하는걸 정말로 간단하게 정리 하겠다.
물론 내용은 필자가 한번보고 기억을 해내고, 아하~ 이랬었지라고 되새김 하기 위한 용도이다.

  1. github.com 에 프로젝트가 있어야 한다. 없다면 만들어야 한다.
  2. 해당 프로젝트에는 composer.json 파일이 있어야 한다.
  3. composer.json 에는 name이 있어야 한다.
    {
        "name": "username/projectname",
        "description": "Test Projectname"
    }
  4. packagist.org 로그인 화면에서 우측 상단 2번째 Submit 메뉴를 선택힌다.
  5. 입력상자에 https://github.com/username/projectname 형식으로 프로젝트를 입력한다.
  6. Check 버튼을 클릭하면 등록이 가능한지 검사를 한다.
  7. 문제가 있다면 안내가 나온다. 고치자
  8. Submit 버튼이 보이면 주저하지 말고 클릭한다.
  9. 등록이 완료 되었다.

composer require username/projectname

아래 오류가 나온다면 패키지 이름이 이상하거나, stable 버전을 찾을 수 없다는 메세지다.
그 외 여러 에러는 케바케(case by case)이니 오류내용을 잘 보고 해결하자.

[InvalidArgumentException]
Could not find package uncaose/straight-ci-layout at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability

자동 업데이트

Packgist.org에서 How to Update Packges 참고.

  1. https://packagist.org/profile/ 에서 API Token키를 복사한다.
  2. https://github.com/useranme/projectname/ 페이지 메뉴에서 Settings 메뉴를 선택.
  3. 좌측메뉴 Integrations & services 선택.
    https://github.com/username/projectname/settings/installations 페이지로 바로 가도 된다.
  4. 페이지 상단 우측 AddService를 선택 후 packagist를 선택하면 설치방법과 함께 입력 항목이 나타난다.
  5. Packagist.org UserID와 API Token을 입력 후 Add Service를 입력하면 등록이 된다.
    Domain : http://packgist.org (not https)
  6. 등록이 되었다는 페이지와 함께 등록된 packagist 가 하단에 표시된다.


자동 업데이트 설정 후 "minimum-stability", "license" 등을 composer.json 에 추가하면 packgist.org 가 입력된 내용에 따라서 업데이트 된다.

{
    "name" : "username",
    "description" : "description",
    "minimum-stability": "stable",
    "license": "MIT",
    "authors": [
      {
        "name": "C.H",
        "email": "uncaose@gmail.com"
      }
    ],
    "require" : {
        "ohter username/projectname" : "^1.0"
    }
}


반응형