====== 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 \\