1. 程式人生 > 其它 >搭建私有Composer

搭建私有Composer

搭建私有composer

  適用於公司內部進行包管理,在元件化、服務化場景下部分業務程式碼不方便放到開源平臺,可使用內部git伺服器,配合composer/satis專案搭建私有composer處理內部依賴,優化程式碼結構,統一依賴

環境

  • 系統windows 10
  • php版本7.2.17(當前satis要求^7.2.9)
  • git服務gitlab
  • 示例專案: aichenk/open-crypt

步驟

  • 提交專案原始碼到gitlab

    • 需配置composer.json,步驟本次不作說明
    • 需可以通過http方式訪問(gitlab本身支援)
  • 使用composer建立satis專案並載入依賴

    $ composer create-project composer/satis satis --stability=dev --keep-vcs
    $ cd satis
    $ composer install
    
  • 增加配置檔案satis.json(本次建立在專案根目錄,可以自由配置)

    {
      "name": "satis",
      "homepage": "http://localhost:8080/",
      "repositories": [
        {
          "type": "vcs",
          "url": "http://localhost/aichenk/open-crypt.git"
        }
      ],
      "config": {
        "secure-http": false
      }
    }
    
    • homepage表示satis訪問地址(web伺服器配置,後續用到)
    • repositories中寫入git倉庫地址
    • secure-http:false表示支援http訪問
  • 生成倉庫列表及網頁檔案

    $ php bin/satis build satis.json ./web
    
  • 配置web訪問(本示例使用php自帶web服務演示)

    $ php -S 0.0.0.0:8080 -t ./web
    
  • 開啟配置的homepage驗證是否成功

使用

  • 修改專案composer.json檔案

    {
      "repositories": {
        "packagist": {
          "type": "composer",
          "url": "http://localhost:8080/"
        }
      },
      "config": {
        "secure-http": false
      },
      "require": {
        "aichenk/open-crypt": "^1.0"
      }
    }
    
  • 執行composer install即可

其他說明

  • 專案中新增多個composer源

    {
      "repositories": [
        {
          "type": "composer",
          "url": "http://localhost:8080"
        },
        {
          "type": "composer",
          "url": "https://packagist.phpcomposer.com"
        }
      ]
    }
    
  • 略過satis直接使用gitlab載入包

    {
      "repositories": [
        {
          "type": "vcs",
          "url": "http://localhost/aichenk/open-crypt.git"
        },
        {
          "type": "composer",
          "url": "https://packagist.phpcomposer.com"
        }
      ]
    }