このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
packagist:knowledge [2020/07/17 11:07] y2sunlight [Packagist パッケージ登録の基礎知識] |
packagist:knowledge [2020/07/17 16:14] y2sunlight [更新スケジュール] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | > 編集中 | ||
- | |||
====== Packagist パッケージ登録の基礎知識 ====== | ====== Packagist パッケージ登録の基礎知識 ====== | ||
--- // | --- // | ||
行 22: | 行 20: | ||
===== パッケージのネーミング ===== | ===== パッケージのネーミング ===== | ||
- | > TODO: | + | |
+ | ( packagist でパッケージを提出するには ) まず第一に、パッケージ名を選択する必要があります。これは変更できないので非常に重要なステップであり、将来的に競合を回避するために十分に一意である必要があります。 | ||
+ | |||
+ | パッケージ名は、スラッシュ( ''/'' | ||
+ | |||
+ | 場合によっては、ベンダー名とパッケージ名が同じになることがあります。この例は、'' | ||
+ | |||
+ | 参考の為に、典型的なパッケージ名のリストを次に示します: | ||
+ | |||
+ | <code> | ||
+ | // Monolog はライブラリで、ベンダー名とパッケージ名が同じです。 | ||
+ | monolog/ | ||
+ | |||
+ | // これはdrupalモジュールの名前のようです(monolog によって保守/ | ||
+ | // drupalチームがそれを行っているとしたら、ベンダーはdrupalになります)。 | ||
+ | monolog/ | ||
+ | |||
+ | // Acme は会社または人です。ここではパッケージに一般的な名前(Email)で名前を付けることができます。 | ||
+ | // 独自のベンダー名前空間にある限り、他の誰とも競合しません。 | ||
+ | acme/ | ||
+ | </ | ||
+ | |||
+ | packagist のベンダー名は、ひとたび、その名前でパッケージが公開されると保護されます。つまり、packagist にすでに存在するベンダー名のパッケージを許可なしに公開することはできません。既存のベンダー名のパッケージを公開できるようにするには、そのベンダー内の少なくとも一つのパッケージの保守担当者である必要があります。 | ||
\\ | \\ | ||
+ | |||
+ | ===== パッケージのバージョン管理 ===== | ||
+ | |||
+ | パッケージの新しいバージョンは、バージョン管理システムのリポジトリに作成したタグから自動的にフェッチされます。 | ||
+ | |||
+ | バージョニングを管理する最も簡単な方法は、composer.json ファイルからバージョンフィールド( '' | ||
+ | |||
+ | タグ/ | ||
+ | |||
+ | < | ||
+ | 1.0.0 | ||
+ | v1.0.0 | ||
+ | 1.10.5-RC1 | ||
+ | v4.4.4beta2 | ||
+ | v2.0.0-alpha | ||
+ | v2.0.4-p1 | ||
+ | </ | ||
+ | |||
+ | ブランチは自動的に " | ||
+ | |||
+ | > 例えば、'' | ||
+ | |||
+ | \\ | ||
+ | |||
===== composer.jsonの作成 ===== | ===== composer.jsonの作成 ===== | ||
- | > TODO: | + | |
+ | composer.json ファイルは、パッケージの git/ | ||
+ | |||
+ | 典型的な composer.json ファイルは次のようになります。 | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | この情報のほとんどは明白で、キーワード( '' | ||
+ | |||
+ | このファイルをリポジトリのルートでコミットしたら、パブリックリポジトリのURLを入力してパッケージを Packagist に[[https:// | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== 更新スケジュール ===== | ||
+ | |||
+ | New packages will be crawled immediately after submission if you have JS enabled. | ||
+ | |||
+ | JSを有効にしている場合、新しいパッケージは、送信後、即座にクロールされます。 | ||
+ | |||
+ | 自動更新(GitHub / BitBucketフック)のない既存のパッケージは、更新のために週に1回クロールされます。フックを有効にすると、プッシュするたびに、パッケージがクロールされ、また、クロールが失敗した場合は少なくとも月に1回はクロールされます。保守担当者としてログインしている場合は、パッケージ画面で手動更新をトリガーすることもできます。 | ||
+ | |||
+ | すべてのパッケージに GitHubまたはBitBucketのサービスフックを設定することを強くお勧めします。これにより、負荷が軽減され、パッケージがほぼ瞬時に更新されます。以下のハウツーを確認してください。 | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | <div indent>< | ||
+ | GitHubの場合は、本編の「Packagist アカウントの作成」内の「[[packagist: | ||
+ | </ | ||
+ | |||
+ | 検索インデックスは5分ごとに更新されます。検索インデクサーが最後に実行されてからクロールされたパッケージがインデックス(または再インデックス)されます。(※即ち、クロールされて(自動更新の場合はプッシュとほぼ同時刻)から最大で5分以内の再インデックスされるという事) | ||
\\ | \\ | ||