概要
自作ライブラリをcomposer/gitlabを介して使う
手順
トークンの作成
アクセス用トークンを作成する。
https://${gitlab_url}/profile/personal_access_tokens
にアクセスし、Scopeをapiで作成。
値をメモしておく。
ライブラリ用プロジェクト
projectの設定
gitlabプロジェクトのページで、Setting>General>Visibility, project features, permissionsにアクセス。
パッケージとして使うことを許可する。
composer.json
以下の記載を入れる
{
"name": "${namespace}/${library-name}",
"type": "library",
"version": "${version}"
}
この状態で、タグをつけてプッシュしてする。
ライブラリの発行
以下のコマンドをたたきライブラリとして登録する。
curl --data tag=${tag_name} 'https://__token__:${token}@${gitlab_url}/api/v4/projects/${project_id}/packages/composer'
利用側プロジェクト
composer.json
以下を追記する。
require: {
"${namespace}/${library_name}": "${version}"
},
"repositories":[
{"type":"composer","url":"https://__token__:${token}@${gitlab_url}/api/v4/group/${group_id}/-/packages/composer/packages.json"}
],
auth.jsonを使って認証をする方法もあるがうまくいかなかった。
globalに設定すればできるかもしれないがあまりやりたくないのでこちらを利用。
install
composer install
これで利用可能です。情報が散らばっていましたが、やってみると意外と簡単。