====== Packagist パッケージの登録方法 ======
--- //[[http://www.y2sunlight.com|y2sunlight]] 2020-07-13//
[[packagist:top|Packagist に戻る]]
本章では、Packagistでのパッケージの登録方法を [[apricot:top|Apricot]] を例に説明します。本章の前提条件としては以下が必要になります。
* GitHubのアカウントを持っている --- 「[[github:config|GitHub 環境構築]]」を参照
* Packagistのアカウントを持っている --- 「[[packagist:register|Packagist アカウントの作成]]」を参照
また、Composerによるプロジェクトの作成方法についても言及します。
関連記事
* [[packagist:register|Packagist アカウントの作成]]
* [[packagist:knowledge|Packagist パッケージ登録の基礎知識]]
* Packagist パッケージの登録方法
リンク
* https://packagist.org/ --- Packagistの本家
----
===== パッケージの提出 =====
Packagistにログインして、画面右上のメニュー[Submit]をクリックします。
[{{:packagist:publish:packagist-publish01.png?nolink|}}]
■ [Repository URL]を入力します。\\ (ここでは例として、https://github.com/y2sunlight/apricot を入力しています)\\
■ [Check]ボタンを押して下さい。
[{{:packagist:publish:packagist-publish02.png?nolink|}}]
■ Repository URLからリポジトリが正しく見つかった時は上の画面が表示されます。\\
■ [Submit]ボタンを押して下さい。
[{{:packagist:publish:packagist-publish04.png?nolink|}}]
■ Submitが終了すると画面が変わり、リポジトリのクロールが開始されます。\\ (その間 [Update]ボタンが風車の表示になります)\\
■ クロールが終了すると上画面のようになります。
\\
===== GitHubとの連携 =====
==== 自動更新 ====
本編「Packagist アカウントの作成」で説明したように[[packagist:register#githubとの接続|githubと接続]]していれば、パッケージはGitHubにプッシュ後に即座に更新されます。GitHub側でリポジトリ毎にWebhookを手動で構成する必要はありません。
=== GitHub側でリポジトリ毎にPackagistと連携をしたい場合 ====
Packagist側でgithubと接続しておらず、リポジトリ毎に連携をしたい場合は以下の手順に従って下さい:
- Packagistの[[https://packagist.org/profile/|Profile]]画面からAPI Tokenを取得します。
- GitHubのリポジトリの[Settints]画面の左サイドから[Webhooks]を選択します。
- 上記の[Payload URL], [Content type], [Secret]を入力します。
- [Which events would you like to trigger this webhook?] に対して [Just the push event] を選択します。
- [Active]にチェックして、[Add webhook]ボタンを押して下さい。
\\
==== 手動更新 ====
Packagist にログインしている場合は、個々のパッケージ画面から手動でパッケージを更新できます。
[{{:packagist:publish:packagist-publish04.png?nolink|}}]
■ 緑色の[Update]ボタンを押して下さい。
\\
===== Composerによるプロジェクトの作成方法 =====
''composer create-project'' コマンドを使用すると、Composerを使用して、既存のパッケージから新しいプロジェクトを作成できます。
Composerによるプロジェクトの作成では、通常、パッケージが ''vendor''フォルダーに配置されるのと異なり、望みの場所に配置ができるのに加えて、そのパッケージが依存(require)している全てのパッケージもComposerによって展開してくれます。
Composerによるプロジェクトの作成には以下のような用途が考えられます。
* ライブラリのスケルトンをユーザに配布したい時
* パッケージをチェックアウトして、パッチの開発を始めたい時
* プロジェクトの新しい開発者が初期のアプリケーションを取得したい時
最新のパッケージを取得して、フォルダ(project1)に新しいプロジェクトを作成するには以下のようにします。
composer create-project y2sunlight/apricot project1
* プロジェクトフォルダ(上例では ''project1'')を省略するとリポジトリ名と同じ名前( ''apricot'' )でプロジェクトフォルダが作成されます。
また、ブランチ、タグ または バージョンを指定する場合は、以下のようにします。
composer create-project y2sunlight/apricot:dev-master project1 # ブランチ(master)を指定する
composer create-project y2sunlight/apricot:v1.0.0 project1 # タグを指定する
composer create-project y2sunlight/apricot project1 "1.1.*" # バージョン番号を指定する
''composer create-project'' コマンドは、以下の事を手動でするのと同じです:
- git clone https://github.com/y2sunlight/apricot project1
- cd project1
- composer install
尚、''composer create-project'' コマンドのオプションについては、以下を参照して下さい。
* https://getcomposer.org/doc/03-cli.md#create-project
\\