在我的Node.js項目的package.json
我有一對夫婦的依賴,這裏有一個例子:npm - 如何部署項目依賴於我們的內部Bitbucket到Azure?
...
"dependencies": {
"lodash": "^4.17.4",
"request": "^2.81.0",
"request-promise-native": "^1.0.4",
"my-module": "git+ssh://[email protected]:7999/sub/my-module.git#v5.0.0"
},
...
my-module
是位於我公司的到位桶的內部模塊並不能提供給公衆。我們的Bitbucket只能從內部網訪問,不能通過互聯網訪問。
現在我想將項目從本地Git存儲庫部署到Azure。我遵循https://docs.microsoft.com/en-us/bot-framework/deploy-bot-local-git的指示,如果我沒有依賴my-module
,肯定會成功。在我從內部公司網絡運行npm install
時沒有問題,因爲無法訪問我們的Bitbucket存儲庫,所以在部署到Azure時會失敗。
我不能讓我們的Bitbucket從外部訪問,我不能發佈my-module
(例如在Github中)。
任何想法如何我可以巧妙地解決這個問題?
編輯:
只需複製和粘貼是不是一種選擇,因爲my-module
有頻繁的變化,我希望能夠包括在任何時候一個新的版本。
所以我試着用Git子模塊的幫助:我將my-module
作爲子模塊添加到我的項目中,並將其內容放入本地文件夾lib/my-module
,我現在在package.json中使用它。在Azure中,我必須禁用Git子模塊的更新(因爲my-module
的URL是我們公司的內部回購站,無法由Azure訪問),因此使用SCM_DISABLE_SUBMODULES=1
。然後我能夠成功地將我的項目部署到Azure。
但:在Azure中現在有文件夾lib/my-module
,但它沒有內容(我的本地計算機上,內容是存在的)。我需要做什麼?
謝謝。我用一些Gits submodules的經驗來解決我的問題 - 請看看我上面的編輯。 – Markus
@Markus我不認爲子模塊會幫助你,他們從git服務器獲取文件的方式與'git fetch'一樣。 –
我可能沒有其他選擇,只能通過複製和粘貼來包含'my-module',或者在任何向公衆開放的存儲庫中發佈'my-module'? – Markus