使用私有 GitLab 釋出 Composer package

nfangxu發表於2018-11-20

建立 package

  • cd foobar/

  • composer init

# This command will guide you through creating your composer.json config.
# 
# Package name (<vendor>/<name>) [vendor/foobar]:
# Description []:
# Author [nfangxu <nfangxu@gmail.com>, n to skip]:
# Minimum Stability []:
# Package Type (e.g. library, project, metapackage, composer-plugin) []:
# License []:
# 
# Define your dependencies.
# 
# Would you like to define your dependencies (require) interactively [yes]?
# Search for a package:
# Would you like to define your dev dependencies (require-dev) interactively [yes]?
# Search for a package:
# 
# 這個時候會在此處顯示你上面所配置的內容, 即: composer.json 檔案的預覽
# 
# Do you confirm generation [yes]?

# 根據自己的需要配置 composer.json 
  • 上傳到 gitlab

使用 package

  • 參考 官方文件

  • 在專案的 composer.json 檔案中, 新增以下配置:

{
    .
    .
    .
    "repositories": [
        {
            "type": "vcs", # gitlab 時的固定值
            "url":  "git@glab.nfangxu.com:nfangxu/package.git" # 專案的 git 地址
        }
    ],
    .
    .
    .
    "require": {
        .
        .
        .
        "nfangxu/package" : "dev-master" # 如果使用分支, 需要在分支名前面新增 dev- , 使用 tag 則直接寫 tag 名稱即可
    },
    .
    .
    .

執行 composer update

這種操作是不推薦的

package 更新 (2018/11/21 更新)

對於釋出到 packagist.org 的擴充套件包是有版本顯示的, 私有的擴充套件包同樣可以實現類似的功能
gitlab 並沒有提供直接的 release 功能, 需要透過 tag 來實現

新增 tag

  • 開啟專案目錄 > repository > 標籤 > New Tag

    • tag name : v1.0 # 作為你的版本標識
    • Create from : master # 從哪裡建立, 選擇 master 分支, 或你的任意分支
    • Message # 不填也可以
    • Release notes # 不填也可以
  • 點選 create tag

使用版本

  • 開啟你專案中的 composer.json 檔案, 修改內容為
.
.
.
"nfangxu/package" : "v1.0"
.
.
.
  • 執行 composer update nfangxu/package 即可更新到指定版本(tag)

注意

如果更新版本, 也需要先更改 composer.json 再執行 composer update nfangxu/package 命令,
如果直接執行 composer update nfangxu/package:v1.1 命令, 會提示 Package "nfangxu/package:v1.1" listed for update is not installed. Ignoring.

網站原文

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章