2014-06-25 49 views
4

我在一個專用的Bitbucket存儲庫中安裝了一個包,用於跨各種基於Laravel的客戶端項目。我發現我經常加入它,並希望能夠根據最新版本的需要使用作曲家更新每個客戶的項目。通過作曲家從專用Bitbucket存儲庫導入包

如何向composer添加條目以從Bitbucket git存儲庫中提取,而無需將我的個人存儲庫登錄名/密碼公開給composer.json文件中的客戶端?

回答

1

使用ssh authentication和配置一些Deployment Keys

  • 進入「項目設置 - >部署鍵」
  • 然後添加不同的部署重點針對每個客戶的。

你可以找到更多關於如何設置與Mercurial或Git的SSH認證的信息。

+0

這就是我的想法,但我無法弄清楚如何在composer.json中引用SSH密鑰。 – eComEvo

+0

我不熟悉'composer.json',但通常可以使用運行流程/服務的用戶的公鑰。例如,如果使用用戶'daemon'運行進程,則可以在'/ home/daemon'中爲它創建一個ssh密鑰,並且ssh庫將默認從那裏加載公鑰。 (例如,我已經用jenkins成功地使用了,而不必配置任何特殊的東西)。 –

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://[email protected]/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更新,以便以後它的供應商創造回購目錄......但經過新提交的私人回購和composer.phar更新不拉過去的變更......它停留在頭上,這是在第一次回購進口