내가 만든 패키지를 packagist.org에 올려보자

많은 PHP 개발자들은 composer 패키지 매니저를 사용해서 다른 사람들이 만든 라이브러리 혹은 패키지 등을 본인의 프로젝트에 주입하여 사용한다. 나도 다른 사람들이 만들어놓은 패키지를 많이 사용해왔지만, 스스로 패키지를 만들어 본 적은 없었기 때문에 한번 해봤다.

참고 : PHP 언어의 패키지매니저로 유명한 Composer로 다운받는 모든 외부 패키지는 packagist.org 사이트에서 운영 및 관리가 되고 있다.

github webhook을 packagist와 연결하자

수 많은 개발자들이 하나의 프로젝트를 시작하면 제일 먼저 하는 소스 버전 및 형상 관리를 해주는 Git. 나는 GitHub으로 앞으로의 토이프로젝트를 진행하려고 한다. 때문에 새로운 github repository를 만들고 push 이벤트를 받을 때 packagist로 소스를 넘겨주는 webhook을 설정해야 한다. github 계정으로 packagist 계정을 손 쉽게 만들어 놓고 아래 사진의 Show API Token 버튼을 클릭해서 나오는 Key값을 잘 복사해둔다.

다음은 깃헙의 레포지토리에서 웹훅을 설정한다. [ Repository > Setting > Hook ] 메뉴로 들어가면 설정할 수 있다.

아래 사진의 3가지 부분만 신경써서 적어주면 자동으로 웹훅 설정은 끝이다. Payload URL의 경우 https://packagist.org/api/github?username="YOUR_PACKAGIST_NAME"을 기입하고, content type은 application/json으로, Secret 부분에 위에서 확인한 Key값을 기입해준다.

 

코드 작성 및 git push하여 packagist에 코드 등록

git commit 그리고, git push를 진행하는건 어떤 프로젝트던 똑같지만 packagist에 등록하려면 tag까지 등록을 함께 해주어야 한다. 그렇기 때문에 아래 절차를 잘 따라주는 것이 중요하다. 아래 항목을 잘 이행한 후에 packagist.org를 들어가서 보면 코드가 정상적으로 등록되어있는것을 확인할 수 있다.

  1. git add . : 로컬에 작성한 코드를 스테이지 처리한다
  2. git commit -m "commit massage" : 스테이징 되어있는 코드를 브랜치에 커밋한다
  3. git tag -a 0.0.1 -m "v0.0.1" : 버전에 맞는 태그를 작성한다
  4. git push origin 0.0.1 : 버전에 맞는 태그를 push한다
  5. git push : 코드 전체를 push한다

아래 사진을 보면, 우측의 Details에 내가 push한 깃헙 주소가 등록되었고, 태그를 등록한 버전별로 관리가 되고있는것을 확인할 수 있었다.