搭建私有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验证是否成功

image-20191218142716817.png

使用

  • 修改项目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"
        }
      ]
    }
    

你可能感兴趣的:(搭建私有composer)