2023.05.31

SokoP とはじめる JFrog Platform
~ PHP Composer リポジトリの巻 ~

SokoP Urasoko
JFrog Japan
Senior Solution Engineer
このエントリーをはてなブックマークに追加

はじめに

みなさん、こんにちは。 JFrog Japan SokoP こと浦底です。

本ブログでは Artifactory にて PHP Composer を扱う方法を紹介します。

 

JFrog Artifactory とは

Artifactory とは、30 以上のパッケージに対応したバイナリ管理プラットフォームです。ソフトウェア開発における中間成果物=アーティファクトを一元管理し、各工程の要件に適した統合を実現します。

jfrog_php_1.jpg

Artifactory のリポジトリについて

Artifactory のリポジトリの種類は大きく3種類あります。

  • ローカルリポジトリ
    • ソースコードから生成される成果物を格納するリポジトリ
  • リモートリポジトリ
    • アプリケーションが依存するパッケージをキャッシュするリポジトリ
  • バーチャルリポジトリ
    • 複数のローカル・リモートリポジトリを統合して扱うリポジトリ

これらにより、共有ライブラリ管理、ビルドステップの高速化、ソフトウェアライフサイクルとの統合などが可能となります。

jfrog_php_2.png

Artifactory で PHP Composer リポジトリを管理してみる

ここから PHP Composer リポジトリを管理する例を紹介します。 

1.リポジトリの作成

リポジトリ一覧の右上のボタンを押下すると「Pre-Built Setup」が表示されるので、今回はここから作成します。

jfrog_php_3s.pngのサムネイル画像

2.パッケージタイプの選択

Composer を選択します。

jfrog_php_4.png

3.リポジトリ名の決定

Pre-Built Setup」では、上で挙げた3種類のリポジトリを一括作成します。

jfrog_php_5.png

4.クライアントの設定

続いてクライアントの設定をみていきます。

jfrog_php_6.png

jfrog_php_7.png

各パッケージマネージャのクライアントに応じた設定と使用法が案内されます。認証にはアクセストークンを用います。この場で発行することも可能ですし、既に設定済みのアクセストークンも利用可能です。要件に応じてアクセストークンを複数発行したりトークンに応じた権限や期限の設定も可能です。

jfrog_php_8.png

Composer が用いる config.json, auth.json の記述法が表示されます。これを開発標準とすることで、既存の Composer 利用法を変えることなく開発が可能です。

5.依存解決

それではクライアントの設定と認証を反映したうえで依存解決を試します。

composer.json
jfrog_php_9.png

config.json(auth.jsonも設定済)

jfrog_php_10.png

composer install 実行

jfrog_php_11.png

正常に依存解決がなされました。

6.キャッシュされたパッケージの確認

Web UIからリモートリポジトリを確認します。

jfrog_php_12.png

依存するパッケージがリストに表示され、composer.jsonのデータも参照可能です。

7.プライベートパッケージをアップロード

作成したパッケージをアップロードします。クライアント設定画面の「Deploy」タブに表示されます。

jfrog_php_13.png

実際のコマンド(トークンは省略)

jfrog_php_14.png

結果

jfrog_php_15.png

Web UI

jfrog_php_16.png

正常にローカルリポジトリに Composer パッケージとしてアップロードされました。

おわりに

このように Artifactory は各パッケージにあわせた利用が可能です。依存解決とアップロードでは同じバーチャルリポジトリを参照し、キャッシュはリモートリポジトリ、アップロードはローカルリポジトリで処理されています。

 

字数の関係上今回はここまでですが、さらなる活用法について続編投稿していきますので、お気軽にご質問ご要望などコメント付きでソーシャルメディアでのシェアやブックマークなどいただければ反映してまいります。引き続きよろしくお願いします!

関連リンク

「DevOps に必要なもう1つのピース、ソフトウェアサプライチェーンの Hub となる JFrog Platform【キニナルDevOps講座 vol.2】」資料・アーカイブ動画

この記事の著者:SokoP Urasoko

JFrog Japan
Senior Solution Engineer

業務系 Web アプリ開発からクラウド業界へ。 Chef Software による IaC の推進と共に DevOps 文化に触れる。以降2大パブリッククラウドに関わった後、世界の DevOps シーンにおいて標準となっているバイナリ管理を日本でも普及させるべく JFrog Japan に入社。twitter:@urasoko

  • 関連キーワード:
  • JFrog

DevOps Hubのアカウントをフォローして
更新情報を受け取る

  • Like on Feedly
    follow us in feedly

関連記事

このエントリーをはてなブックマークに追加

お問い合わせ

DevOpsに関することなら
お気軽にご相談ください。

Facebook、TwitterでDevOpsに関する
情報配信を行っています。