SokoP とはじめる JFrog Platform
~ PHP Composer リポジトリの巻 ~
はじめに
みなさん、こんにちは。 JFrog Japan の SokoP こと浦底です。
本ブログでは Artifactory にて PHP Composer を扱う方法を紹介します。
JFrog Artifactory とは
Artifactory とは、30 以上のパッケージに対応したバイナリ管理プラットフォームです。ソフトウェア開発における中間成果物=アーティファクトを一元管理し、各工程の要件に適した統合を実現します。
Artifactory のリポジトリについて
Artifactory のリポジトリの種類は大きく3種類あります。
- ローカルリポジトリ
- ソースコードから生成される成果物を格納するリポジトリ
- リモートリポジトリ
- アプリケーションが依存するパッケージをキャッシュするリポジトリ
- バーチャルリポジトリ
- 複数のローカル・リモートリポジトリを統合して扱うリポジトリ
これらにより、共有ライブラリ管理、ビルドステップの高速化、ソフトウェアライフサイクルとの統合などが可能となります。
Artifactory で PHP Composer リポジトリを管理してみる
ここから PHP Composer リポジトリを管理する例を紹介します。
1.リポジトリの作成
リポジトリ一覧の右上のボタンを押下すると「Pre-Built Setup」が表示されるので、今回はここから作成します。
2.パッケージタイプの選択
Composer を選択します。
3.リポジトリ名の決定
「Pre-Built Setup」では、上で挙げた3種類のリポジトリを一括作成します。
4.クライアントの設定
続いてクライアントの設定をみていきます。
各パッケージマネージャのクライアントに応じた設定と使用法が案内されます。認証にはアクセストークンを用います。この場で発行することも可能ですし、既に設定済みのアクセストークンも利用可能です。要件に応じてアクセストークンを複数発行したりトークンに応じた権限や期限の設定も可能です。
Composer が用いる config.json, auth.json の記述法が表示されます。これを開発標準とすることで、既存の Composer 利用法を変えることなく開発が可能です。
5.依存解決
それではクライアントの設定と認証を反映したうえで依存解決を試します。
composer.json
config.json(auth.jsonも設定済)
composer install 実行
正常に依存解決がなされました。
6.キャッシュされたパッケージの確認
Web UIからリモートリポジトリを確認します。
依存するパッケージがリストに表示され、composer.jsonのデータも参照可能です。
7.プライベートパッケージをアップロード
作成したパッケージをアップロードします。クライアント設定画面の「Deploy」タブに表示されます。
実際のコマンド(トークンは省略)
結果
Web UI
正常にローカルリポジトリに Composer パッケージとしてアップロードされました。
おわりに
このように Artifactory は各パッケージにあわせた利用が可能です。依存解決とアップロードでは同じバーチャルリポジトリを参照し、キャッシュはリモートリポジトリ、アップロードはローカルリポジトリで処理されています。
字数の関係上今回はここまでですが、さらなる活用法について続編投稿していきますので、お気軽にご質問ご要望などコメント付きでソーシャルメディアでのシェアやブックマークなどいただければ反映してまいります。引き続きよろしくお願いします!
関連リンク
「DevOps に必要なもう1つのピース、ソフトウェアサプライチェーンの Hub となる JFrog Platform【キニナルDevOps講座 vol.2】」資料・アーカイブ動画
この記事の著者:SokoP Urasoko
Senior Solution Engineer
業務系 Web アプリ開発からクラウド業界へ。 Chef Software による IaC の推進と共に DevOps 文化に触れる。以降2大パブリッククラウドに関わった後、世界の DevOps シーンにおいて標準となっているバイナリ管理を日本でも普及させるべく JFrog Japan に入社。twitter:@urasoko
- 関連キーワード:
- JFrog
DevOps Hubのアカウントをフォローして
更新情報を受け取る
-
Like on Facebook
-
Like on Feedly