通过composer从私有Bitbucket存储库导入包

时间:2014-06-25 00:27:43

标签: php git laravel composer-php bitbucket

我在私有Bitbucket存储库中有一个软件包设置,我在各种基于Laravel的客户端项目中使用它。我发现我经常添加它,并希望能够根据需要使用作曲家使用最新版本更新每个客户的项目。

如何将一个条目添加到composer中以从Bitbucket git存储库中提取而不必将我的个人存储库登录名/密码公开给composer.json文件中的客户端?

2 个答案:

答案 0 :(得分:1)

使用ssh authentication并配置一些Deployment Keys

  • 进入"项目设置 - >部署密钥"
  • 然后为每个客户添加不同的部署密钥。

您可以在有关如何使用Mercurial或Git设置ssh身份验证的链接上找到更多信息。

答案 1 :(得分:0)

我对bitbucket私人回购有一些问题... 所以我在我的项目根目录composer.json中添加了类似的内容。

"require"     : {
            "php"                                      : ">=5.4.0",
            ...,
            "author/my-package"                     : "0.2"
},

"repositories": [
            {
                "type"   : "package",
                "package": {
                    "name"   : "author/my-package",
                    "version": "0.2",
                    "source" : {
                        "url"      : "ssh://hg@bitbucket.org/author/my-package",
                        "type"     : "hg",
                        "reference": "0.2"
                    },
                    "require": {
                        "php": ">=5.4.0",
                        "zendframework/zendframework": "2.3.*"
                    },
                    "autoload": {
                        "psr-0": {
                            "PackageNameSpace": "src/"
                        },
                        "classmap": [
                            "./Module.php"
                        ]
                    }
                }
            },
    ...
    ]

所以在composer.phar更新之后它会在供应商中创建repo dir ...但是在私有repo和composer.phar更新后的新提交后,它不会拉动最后一个变更集...它保持在第一个的头上repo import