美文网首页
搭建私有composer

搭建私有composer

作者: aiChenK | 来源:发表于2019-12-18 15:35 被阅读0次

      适用于公司内部进行包管理,在组件化、服务化场景下部分业务代码不方便放到开源平台,可使用内部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

          本文链接:https://www.haomeiwen.com/subject/eyjunctx.html