2016-04-05 80 views
0

我搜索好幾個小時在網上和嘗試&錯誤,但我不明白這一點:如何訪問私人到位桶回購在cloudfoundry應用程序(部署作曲家之前SSH密鑰)

我如何使用私人到位桶在composer.json中爲推送到雲代工環境的應用重複使用?

"repositories": [ 
    { 
    "type": "git", 
    "url": "[email protected]:blabla/blabla.git", 
    "reference": "package" 
    } 
] 

問題是,我需要設置公共身份驗證(ssh密鑰)之前,作曲家在雲代工廠啓動startet。

.ssh文件夾必須是$ HOME /../。ssh,它不在應用程序文件夾中,因此我無法直接按鍵。 我發現,使用.profile.d中的bash腳本,我可以執行一些「mv」命令,但是這些bash腳本在作曲者之後運行。

mkdir ./../.ssh 
mv ./preprocess/ssh/id_rsa ./../.ssh/id_rsa 
mv ./preprocess/ssh/id_rsa.pub ./../.ssh/id_rsa.pub 
mv ./preprocess/ssh/known_hosts ./../.ssh/known_hosts 
chmod 600 ./../.ssh/id_rsa 
chmod 600 ./../.ssh/id_rsa.pub 
chmod 644 ./../.ssh/known_hosts 
chmod 700 ./../.ssh 

作曲家本身有一個預安裝cmd,但即使如此,鍵不會被識別。

"scripts": { 
    "pre-install-cmd": "sh ./preprocess/pre-install-cmd.sh" 
} 

這是如何正確完成的?是否有一些特殊的鉤子腳本?在放置ssh文件夾之後我需要添加一些東西嗎?

感謝您的幫助

回答

1

把你的SSH私鑰到一個混帳回購協議和第三方提供商的手中(上傳應用程序到CF的時候)是一個壞主意 - 不這樣做!

推動PHP應用到CF時使用的PHP-buildpack支持與私營徵信作曲家以安全的方式,但遺憾的是僅適用於Github上的那一刻:

它通過獲取Github上OAuth的重點第一,其提供給使用cf set-env的驛站,看到https://github.com/cloudfoundry/php-buildpack/blob/master/docs/composer.md#supply-a-github-token

到位桶還提供OAuth憑證,而是由作曲家支持只是一些天前抵達:https://github.com/composer/composer/pull/5055 所以它不是由PHP-buildpack支持,但我認爲這將是不久。

你不是唯一一個有這個問題的人:How to access private BitBucket repo in cloudfoundry app (Deploy ssh key before composer) - 這是關於heroku的,但也適用於CF,因爲它們具有兼容的buildpack。

解決方案現在: 如果我正確地解釋文檔,你應該能夠通過使用本地composer install打包的依賴關係,推動整個應用程序與依賴關係: https://github.com/cloudfoundry/php-buildpack/blob/master/docs/composer.md#vendoring-dependencies

相關問題