简介

php开发过程中经常使用composer包,有些自己发明的轮子不好意思上公共仓库,那么就在gitea上创建自己的composer包来用吧。

创建包

使用 http PUT 发布, 上传包的 zip 文件。主要是压缩包里的 composer.json 内容

1
PUT http://git.xxx.com/api/packages/{owner}/composer

如果文件内没有版本号则需要使用提交版本信息

1
PUT http://git.xxx.com/api/packages/{owner}/composer?version={x.y.z}

提交时使用 HTTP Basic authentication 验证,可以使用账号密码或者账号和密钥。
Curl 测试:

1
2
3
curl --user your_username:your_password_or_token \
--upload-file path/to/project.zip \
http://git.xxx.com/api/packages/testuser/composer
1
2
3
curl --user your_username:your_password_or_token \
--upload-file path/to/project.zip \
http://git.xxx.com/api/packages/testuser/composer?version=1.0.3

使用包

  1. 配置文件
    在项目目录下创建 config.json 文件,(<user-home-dir>/.composer/config.json )示例:

    windows系统目录为:C:\Users\Administrator\AppData\Roaming\Composer

    1
    2
    3
    4
    5
    6
    7
    {
    "repositories": [{
    "type": "composer",
    "url": "http://git.xxx.com/api/packages/{owner}/composer"
    }
    ]
    }
    如果下载包需要验证可以创建 auth.json,内容示例:
    1
    2
    3
    4
    5
    6
    7
    8
    {
    "http-basic": {
    "git.xxx.com": {
    "username": "{username}",
    "password": "{password}"
    }
    }
    }
    然后 composer安装包就可以了
    1
    2
    composer require {package_name}
    composer require {package_name}:{package_version}
  2. 命令行配置
    注册包仓库地址:
    1
    composer config -g repo.packagist composer http://git.xxx.com/api/packages/{owner}/composer
    禁止 http 的安全检查:
    1
    composer config -g secure-http false
    安装:
    1
    2
    composer require {package_name}
    composer require {package_name}:{package_version}