たいさブログ

taisa's engineer blog

PHP

GitLabのprivateなPHPライブラリをcomposer installするには

投稿日:


社内ツールでprivateなリポジトリに置いておきたいけど、いろんなプロジェクトでcomposer installしたいというケースは以外とあるんじゃないかと思います。そういう時は、composer.jsonrepositoriesを追加して、GitLab(ここではGitLabとしています)のURLを指定するとインストールが可能になります。しかしそのままだとpublicなリポジトリしかだめですが、privateなリポジトリであれば、GitLabからPersonal AcessTokenを取得して、composer config --global --auth gitlab-token.gitlab.com [ACESS_TOKEN]を実行すればcomposer installが可能になります。

では、Webフレームワークをprivateなリポジトリに公開して利用するところまでをやってみます。
(今回は便宜上publicにしています)

事前準備

ここではサンプルのWebフレームワーク(実装なし)をプロジェクトにインストールできるようにすることにします。リポジトリは2つで、フレームワークの実態であるsample-frameworkとフレームワークの雛形となるsample-framework-appを用意しておきました。それぞれの構成は以下の通りです。

https://gitlab.com/taisa831/sample-framework.git

https://gitlab.com/taisa831/sample-framework-app.git

このsample-framework-appcomposer.jsonには上記でも記載した内容が書かれています。requiretaisa831/sample-frameworkを指定し、repositoriesにGitLabのURLを指定することで探してくれるようになります。

Webフレームワークを利用したプロジェクトを作成する

これでWebフレームワークを利用するプロジェクトを作成することができます。通常ならcomposer create-project --prefer-dist taisa831/sample-framework-app dev-masterこのようなコマンドでいけるのですが、packagistに登録していないので手動やります。(satisを使えばというのもありますがそこまでしたくはないので)

これでフレームワークの雛形と実体が合わさり環境構築の完了となります。


-PHP

執筆者:

関連記事

PHPによるDBUnit超入門

例えば簡単なWebサービスでMVCのフレームワークを使っていてビジネスロジックを書く用にコントローラとモデルの間にサービス層を追加して開発している場合、コントローラやサービスはモックを駆使しながらテス …

PHPの empty, isset, is_null の違いをしっかり理解する

PHPの isset、empty、is_null をしっかり理解して使おうと思い整理してみました。既にこのような記事「PHP isset, empty, is_null の違い早見表」もあるのでここで …

PHPUnitのモックオブジェクトの使い方を仕組みから理解する

前回はPHPUnitのメイン処理を確認しました。今回はPHPUnitデフォルトのモックオブジェクトの仕組みを確認してみます。公式ドキュメントでは、第9章 テストダブルが該当箇所となります。 PHPUn …

PHPUnitの使い方を仕組みから理解する

ここ数年仕事ではPHPを使って開発をしていますが、最近品質について考える機会が増えたこともあり、これを機にPHPUnitと周辺のモジュールの仕組みを理解してより楽にテストができるようにしたいと思います …

PHPライブラリをPackagistに登録する方法

PHPのライブラリをPackagistに登録する方法を書いておきます。PackagistはPHPのパッケージリポジトリで、登録しておくとcomposerを使ってプロジェクトへインストールすることができ …

Top