ホームページ > バックエンド開発 > PHPチュートリアル > Gemfuryとのプライベート作曲家パッケージ

Gemfuryとのプライベート作曲家パッケージ

Joseph Gordon-Levitt
リリース: 2025-02-19 09:19:12
オリジナル
358 人が閲覧しました

Private Composer Packages with Gemfury

キーポイント

  • Gemfuryは、プライベート作曲家パッケージをホストするためのサービスとしてのプラットフォーム(PAAS)ソリューションであり、Toran ProxyやSatisなどの自己ホストオプションに代わるものを提供します。 PHP Composer Package、Ruby Gems、Node.js NPM、Python Pypi、Apt、Yum、Nu-Getなどの複数の言語をサポートしています。
  • Gemfuryを使用するには、アカウントを作成し、パッケージを作成し、プラットフォームにアップロードする必要があります。これは、Gitを使用してGemfuryに残りを処理させるか、パッケージのソースコードを手動で締めてGemfuryダッシュボードにアップロードすることで実行できます。
  • プロジェクトのcomposer.jsonファイルにプライベートリポジトリを追加できます。これにより、パッケージを使用するたびに別のリポジトリを追加することなく、Gemfuryで作成したプライベートコンポーザーパッケージを使用できます。
  • Gemfuryは、パッケージを管理するためのコマンドラインツールも提供しています。このツールを使用すると、パッケージをリストしたり、特定のパッケージのバージョンを表示したりできます。コマンドを使用してインストールできますsudo gem install gemfury

あなたが作曲家に精通していると仮定してください、これは最新かつおそらく最高のPHPパッケージマネージャーです。そうでない場合は、アレクサンダーの紹介をチェックしてください。すぐに惹かれると確信しています。この記事を最大限に活用するには、その実用的な知識が必要です。

Composerは、包括的な公開パッケージリポジトリであるPackagistで効率的かつシームレスに動作します。

ただし、遅かれ早かれ、自分で書いたパッケージに遭遇します。何らかの理由でオープンソースになり、パッカギストを介して無料で共有できません。

これらのプライベートパッケージをホストするためのいくつかのオプションがあります。パッケージのリポジトリを個別に追加することにより、プロジェクトのcomposer.jsonファイルを構成できます。または、Satisを使用すると、独自の静的リポジトリを生成できます。あるいは、Toran Proxyを使用すると、パッカギストの自己ホストのプライベートバージョンを作成することができます。これは、一度設定されると、composer.jsonでリポジトリを指定するよりも管理しやすいものです。

gemfuryはPAASの代替品です。ホストされたソリューションは、PHP作曲家パッケージだけでなく、Ruby Gems、node.js NPM、Python Pypi、Apt、Yum、およびNuもサポートするという大きな利点であるという心の安らぎ(支払う必要がありますが) -得る。これは、複数の言語がある場合に非常に便利です。

使い方に飛び込みましょう。

アカウントを設定します

まず、アカウントが必要です。 14日間の試用期間があり、無料のアカウントが1つのコラボレーターとホスティングパッケージに限定されており、その他のさまざまなプランが月額9ドルから始まります。

メールアドレスまたはgithubアカウントを使用して登録できます。登録するためにウェブサイトにアクセスしてください。

最初のパッケージを作成します

プライベート作曲家パッケージにGemfuryを使用する方法を示すために、後で他のプロジェクトで使用するためにサービスに提出する段階的にパッケージを作成しましょう。

新しいパッケージを作成する最も簡単な方法は、次のコマンドを使用することです。

composer init
ログイン後にコピー
ログイン後にコピー

一連の質問をします。このプロセスの例は次のとおりです

<code>...  (此处省略与原文相同的composer init交互过程) ...</code>
ログイン後にコピー
ログイン後にコピー
ご覧のとおり、依存関係Fakerが1つだけのシンプルなパッケージを作成しています。

次に、新しく作成された

に行を追加し、パッケージのソースコードをどこで見つけるかを伝えましょう。 composer.json

"autoload": {        
    "psr-0": {
        "Acme\": "src/"
    }
},
ログイン後にコピー
ログイン後にコピー
それでは、パッケージ自体を作成しましょう。複雑で最高の独自のアルゴリズムを使用して、eコマースプラットフォームの割引クーポンコードのみを生成します。

ワーキングディレクトリで、

およびsrcディレクトリを作成してから、次のファイルを作成しますsrc/AcmeCoupon.php

<?php namespace Acme;

use Faker\Factory;

class Coupon {

    public static function generate($percent) 
    {
        $faker = Factory::create();

        return sprintf('%s-%s-%d',
            strtoupper(date('M')),
            strtoupper($faker->word()),
            intval($percent));
    }

}
ログイン後にコピー
ログイン後にコピー
今すぐ実行して、唯一の依存関係をロードしてオートローダーを構成します。

composer installこれは私たちが構築したパッケージです。次に、Gemfuryにアップロードします。

続行するには、APIキーが必要です。ダッシュボードに行くと、設定の下にあります。

パッケージを構築してアップロードする最も簡単な方法は、Gitを使用してGemfuryに残りを処理できるようにすることです。

最初に次のコンテンツを使用して

ファイルを作成します。

今すぐリポジトリを初期化:.gitignore

<code>vendor/
composer.lock</code>
ログイン後にコピー
ログイン後にコピー
ファイルを追加:

git init
ログイン後にコピー
Git Remote Repositoryを追加します。 Gemfury Dashboardで開始を選択し、PHP Composerタブを選択することにより、関連するURLを見つけることができます。次のようになります:

git add src
git add composer.json
ログイン後にコピー
必ず

gemfuryユーザー名に置き換えてください(githubに登録する場合は、githubユーザー名と同じになります)。

この時点で、2つの選択肢があります。 1つ目は、以下に示すように、
<code>https://your-username@git.fury.io/your-username/<package-name>.git</code>
ログイン後にコピー
ファイルでバージョンを指定する明示的なバージョンコントロールを使用することです。

your-username

セマンティックバージョンの使用を使用することが重要です。それ以外の場合、パッケージは正しく構築されない場合があります。
git remote add fury https://your-username@git.fury.io/your-username/coupon.git
ログイン後にコピー

composer.jsonまたは、gitタグを使用できます。たとえば、以下に示すように、タグを使用して新しいバージョンを作成します。

{
    "name": "your-username/coupon",
    "description": "Generates a coupon code",
        "version": "1.0.0",
    ...
ログイン後にコピー
どの方法をとっても、次のステップは提出することです。

最後に、次のコマンドを実行します:

これにより、コードがGemfuryにプッシュされ、それが自動的にパッケージに組み込まれます。

git tag -a 1.0.0 -m "Version 1.0.0"
ログイン後にコピー
ダッシュボードに行くと、新しいリポジトリがリストされていることがわかります。次に、プロジェクトでどのように使用するか見てみましょう。

プライベートパッケージを使用して

git commit -a -m "Initial commit"
ログイン後にコピー
<

ダッシュボードに戻り、左側の「レポス」を選択すると、プライベートリポジトリURLがあります。これはプライベートに保つ必要があるので、安全に保つことができます。次のようになります:

git push fury master --tags
ログイン後にコピー

それを予測不可能にしているので、実際にはプライベートです。

今すぐプロジェクトに追加してください

composer init
ログイン後にコピー
ログイン後にコピー

Gemfuryで作成したプライベートコンポーザーパッケージを使用するには、この1つのリポジトリを追加する必要があります。パッケージを使用するたびに、別のリポジトリを追加する必要はありません。

パッケージストで行うように、プライベートパッケージが必要になります。これがプロジェクトの完全な例ですcomposer.json

<code>...  (此处省略与原文相同的composer init交互过程) ...</code>
ログイン後にコピー
ログイン後にコピー

その他の方法

個人的には、gitとタグを使用することがパッケージを管理する最も簡単で効果的な方法であると思います。

または、必要に応じて、パッケージのソースコードをzippedし、Gemfuryダッシュボードにアップロードすることで自分で構築できます。

コマンドラインツール

Gemfuryはコマンドラインツールも提供します。それをインストールするには:

"autoload": {        
    "psr-0": {
        "Acme\": "src/"
    }
},
ログイン後にコピー
ログイン後にコピー
パッケージをリストするには、次のコマンドを使用できます。

特定のパッケージのバージョンを表示するには、

<?php namespace Acme;

use Faker\Factory;

class Coupon {

    public static function generate($percent) 
    {
        $faker = Factory::create();

        return sprintf('%s-%s-%d',
            strtoupper(date('M')),
            strtoupper($faker->word()),
            intval($percent));
    }

}
ログイン後にコピー
ログイン後にコピー

CLIの詳細については、ドキュメントの関連セクションをご覧ください。
<code>vendor/
composer.lock</code>
ログイン後にコピー
ログイン後にコピー

概要

この記事では、プライベートリポジトリを管理するための多くのオプションの1つであるGemfuryを紹介します。 PAASソリューションとして、Toranのような自己ホストオプションの余分な負担は必要ありません。SATISよりも使いやすいです。また、PHP Composer PackagesからRuby GemsやNode.js NPMまで、さまざまな言語でパッケージをサポートするという大きな利点があります。もちろん、PaaSソリューションとして、それはそれを支払う必要がありますが、無料の試用版または無料の単一パッケージプランで試してみてください。

(元のFAQの部分はここでは省略されています。この部分はよくある質問であり、記事の主要な内容を高い繰り返しであり、その価値は擬似オリジナリティの後には高くありません。)

以上がGemfuryとのプライベート作曲家パッケージの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート