22

nodejitsu のプライベート npm レジストリを使用してホストするプライベート モジュールを使用する Amazon Elastic Beanstalk で実行されている nodejs プロジェクトがあります。

ただし、エラスティック インスタンスからプライベート npm レジストリにアクセスするのは簡単ではなく、十分に文書化されていません。

このアクセス権を設定する最善の方法は何ですか?

4

7 に答える 7

10

そのため、npm userconfig ファイルを使用してこれを機能させることができました。詳細については、npmrc のドキュメント ページを参照してください。

nodejs アプリケーションが Elastic Beanstalk にデプロイされている場合、root ユーザーは npm install を実行します。そのため、/tmp/.npmrc にあるルートの npm userconfig ファイルを作成する必要があります。

したがって、private_npm.config という名前のファイル (または任意の名前) を .ebextensions フォルダーに追加して、必要なすべての情報を追加すれば、準備完了です。詳細については、AWS Elastic Beanstalk 環境のカスタマイズと設定を参照してください。

したがって、nodejitsu プライベート レジストリを使用すると、私のファイルは次のようになります。

.ebextensions/private_npm.config:

files:
  #this is the npm user config file path
  "/tmp/.npmrc":
    mode: "000777"
    owner: root
    group: root
    content: |
      _auth = <MY_AUTH_KEY>
      always-auth = true
      registry = <PATH_TO_MY_REGISTRY>
      strict-ssl = true
      email = <NPM_USER_EMAIL>
于 2014-07-28T10:18:52.030 に答える
3

.npmrcプロジェクト内でを使用することもできます。例えば...

.npmrc

registry=https://npm.mydomain.com

.gitignore行を含める場合はこのファイルが必要になる場合がありますが、各展開に正しくバンドルされるように_authTokenしないでください。失敗したいくつかのことを試した後、この投稿.ebignoreに出くわし、プロジェクトでローカルに指定できることに気付きました。

于 2019-04-01T20:08:50.370 に答える
2

以下を .ebextensions/app.config 内に配置します。

files:
  "/tmp/.npmrc":
    mode: "000777"
    owner: root
    group: root
    content: |
      //registry.npmjs.org/:_authToken=$NPM_TOKEN

NPM_TOKEN は、実際の npmjs 認証トークンの値を持つ環境変数です。

Elasticbeanstalk 内の環境変数は、AWS コンソールの Elasticbeanstalk ソフトウェア設定タブ内から設定できることに注意してください。

AWS Elasticbeanstalk の設定

于 2016-09-20T20:46:04.093 に答える
2

上記の答えは正しい方向への一歩ですが、権限と所有者はうまくいきませんでした。次の組み合わせで動作させることができました:

files:
  #this is the npm user config file path
  "/tmp/.npmrc":
    mode: "000600"
    owner: nodejs
    group: nodejs
    content: |
      _auth = <MY_AUTH_KEY>
      always-auth = true
      registry = <PATH_TO_MY_REGISTRY>
      strict-ssl = true
      email = <NPM_USER_EMAIL>
于 2016-04-21T12:19:45.307 に答える