問題タブ [google-cloud-source-repos]

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 に答える
282 参照

git - Google ソース リポジトリの HTTPS 経由で git clone を呼び出すときにアクセス トークンを渡す方法はありますか

基本的に Google ソース リポジトリのクローンを作成するために、Google Cloud Functions (python 3.7) を使用しようとしています。私はGitPythonライブラリを使用しており、その Cloud Functions のサービス アカウントには、複製するリポジトリに対するソース リポジトリ リーダーアクセス権があります。

当初、gcloud.sh credential.helperを git config に渡してみたのですが、Cloud Functions 環境 (少なくとも Python 3.7 環境) には Cloud SDK がインストールされていないようです。ここに私のコードの要点があります:

Cloud Functions で実行すると、デフォルトで認証ヘルパーがない場合、httpsメソッドはUsernamePasswordを要求するため、この関数は以下のエラーをスローします。

git.exc.GitCommandError: Cmd('git') failed due to: exit code(128) cmdline: git fetch -v origin stderr: 'fatal: could not read Username for 'https://source.developers.google.com ': 入出力エラー'

git cloneコマンドと一緒にトークンを渡すための以下の回答しか見つかりませんでしたが、トークンを渡す方法には回答していません。

gcloud を使用せずに Google ソース レポジトリのクローンを作成する

そのコマンドをクラウド シェルから開始すると、ハングするだけです。

上記を使用して達成する予定の同様のものを次に示します(正しいコードではありません)。

後で本番環境にデプロイする必要があり、キーのローテーションは面倒なので、クローンの方法として代わりに SSH キーを配置したくありません。