![](/img/trans.png)
[英]How to install a private Node.js package repository for a company intranet?
[英]Maven build step to install Node package from private repository
我有一個Maven項目,它使用exec-maven-plugin作為構建的一部分來引入Node依賴項:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<workingDirectory>src/main</workingDirectory>
</configuration>
<executions>
<execution>
<id>npm-install</id>
<configuration>
<executable>npm</executable>
<arguments>
<argument>install</argument>
</arguments>
</configuration>
<phase>initialize</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
其中一個Node依賴項托管在私有Git存儲庫中。 我不希望每次構建時輸入密碼,所以我在package.json中使用git + ssh協議:
"dependencies": {
"sass-theme": "git+ssh://git@github.com/MyOrg/sass-theme.git#v1.0.2",
"node-sass": "^4.5.0"
}
這對我來說很好,因為我經常使用SSH連接到我的組織私有Git存儲庫,並且SSH密鑰沒有密碼保護。 它也適用於我們的Jenkins服務器,它有自己的SSH密鑰。
這種方法的第一個問題是我的組織中的一些開發人員密碼保護他們的SSH密鑰,因此在構建期間提示他們輸入密碼。
第二個問題是大多數開發人員使用HTTPS連接到存儲庫,因此他們必須創建SSH密鑰並將其注冊到GitHub。 然后,在構建期間,系統會提示他們允許SSH連接,但它在構建中很早就會在滾動緩沖區中丟失。
我可以改變什么來使這個過程更加無縫? 我們可以擁有共享的SSH密鑰嗎? 或者我是否需要更改Node依賴項的URL以使用git + https?
第二個問題是大多數開發人員使用HTTPS連接到存儲庫
1 /他們可以繼續這樣做,確保他們使用憑證助手來緩存他們的github.com
用戶名和密碼(例如,使用Git for Windows ,您將使用Microsoft Git Credential Manager ,鏈接到Credential Manager) Windows )
2 /為了不更改您的設置(使用ssh url),開發人員可以使用全局配置,例如:
git config --global url."https://github.com".insteadOf git+ssh://git@github.com
這樣,任何git@github.com
ssh url都將被解釋/更改為https。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.