起動時にEC2インスタンスのGitHubからプライベートリポジトリをgit cloneしようとしています。
スクリプト(ユーザーデータ)にあるのは次のとおりです。
git clone -b branchname https://github.com/orgname/reponame.git /var/tmp/reponame
どういうわけか、これは結局
Cloning into '/var/tmp/reponame'...
fatal: could not read Username for 'https://github.com': No such device or address
インスタンスの起動後に実行すると正常に動作します。 (インスタンスの起動直後にテストしました)
このエラーの原因は何ですか?
あなたはそれがprivate repoだと言っています-私はそれがユーザー名とパスワードを必要とすることを意味すると思いますこれらをどのように提供していますか?
たとえば、資格情報をお持ちの場合/root/.git-credentials
(説明どおり ここ )およびgit clone
まだ動作しません$HOME
はUserDataスクリプトで設定されていないため、したがってgit
は資格情報ファイルを見つけられません。
2つのオプション:
HOME=/root
を実行する前にgit clone
、または.git-credentials
ファイルから/
(それがである可能性が高いためは$HOME
は設定されません)。それが役に立てば幸い:)