問題タブ [ebextensions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3094 参照

node.js - Elastic Beanstalk で github プライベート リポジトリ アクセス用の SSH キーを設定する

私の Node.JS プロジェクトには、github でホストされているプラ​​イベート NPM リポジトリへの参照が含まれています。これはローカルでは問題なく機能しますが、Elastic Beanstalk でこれを機能させるのに苦労しています。

-

私が必要としているのは、ソース管理に秘密鍵などを保存することなく、Elastic Beanstalk インスタンスで git 用に機能する SSH 構成をセットアップできることです。

明らかに、EB インスタンスには、プライベート github リポジトリにアクセスするために必要な SSH キーがありません。username:password@github.comインラインでHTTPS スタイルの git URL を使用すると、正常に動作します。また、github が提供するoauth トークン メソッド(基本的には user:pass) を使用して動作します。しかし、資格情報をソース管理にチェックインさせたくないので、EB インスタンスで SSH 経由で github からクローンを作成しようとしています。

このブログ投稿npm preinstallによると、スクリプトを含む何百万もの方法を試しました。これは、ツリーが構築された後に実行するように変更が preinstall される npm2 まで機能し、その問題を修正するための PR はまだ保留中です。

環境変数からの OAUTH トークンを使用して、git@github.com を HTTPS URL に配置する.ebextensionsために呼び出すコマンド構成を試しました (この時点で環境変数が起動時に設定されていないため、それ自体がトリッキーです) $HOME の欠如は git config を混乱させます)。git configinsteadof

また、前述のブログ投稿のコメントからのこのソリューション.ebextensionsを含め、EB インスタンスで SSH をセットアップするために使用するさまざまな方法を試しました。これは基本的に私が今行き詰まっているところです。

  • キー ペアを正常に作成し、それを github プロファイルに設定し、ローカル クライアントからプライベート キーを使用してリポジトリを複製できることを確認しました。
  • 秘密鍵と ssh 構成ファイルをプライベート S3 バケットに配置しました
  • この例に従って.ebextensions files、これら 2 つのファイルを S3 バケットから にコピーする構成を作成しました。/tmp/.ssh/
  • commands .ebextensions/tmp/.ssh を一覧表示し、ファイルが S3 から正常にダウンロードされたことを示すデバッグ構成を作成しました。

/tmp/.ssh/config には以下が含まれます。

/tmp/.ssh/deploy_key には、ローカルで動作することが確認されている秘密鍵が含まれています。

ただし、git はまだエラーをスローします。

私は今、アイデアが不足しています。私の最善の推測では、/tmp/.ssh は git が ssh 構成ファイルを探すパスではありません。リンクされたソリューションが提案されたときだった可能性がありますが、後の AMI:s などで変更された可能性があります。使用される環境EBの起動時は少し制限されているようです。コマンドはユーザーとして実行されますnodejsが、 $HOME がどこにも設定されていないにもかかわらず、 /tmp がホームディレクトリとして使用されているようです。

git に SSH 構成を取得させ、その結果として SSH キーを使用させるにはどうすればよいですか? git が SSH 構成ファイルを探す場所を見つけるにはどうすればよいですか? 通常は ~/.ssh にありますが、$HOME が設定されていないため、これは簡単なはずですが、気が狂いそうになります。

0 投票する
1 に答える
480 参照

node.js - ノード JS - Elastic Beanstalk AWS - 書き込みアクセスを許可する

AWS Elastic Beanstalk にデプロイしている NodeJS アプリケーションがあります。これは、アプリケーション ディレクトリにある JSON ファイルに書き込むことができる必要があります。

これは現在ローカルで機能していますが、明らかに書き込み権限がないため、AWS にデプロイするときは機能しません。

EBEXTENSIONS に追加する必要があるものと、NodeJS Elastic Beanstalk アプリで書き込みアクセスを許可する方法を教えてください

ありがとう