我正在尝试在启动时从 EC2 实例上的 GitHub 克隆一个私有存储库。
我的脚本(用户数据)中的内容如下。
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
但在启动实例后执行时可以正常工作。(我在实例启动后立即对其进行了测试)
造成此错误的原因是什么?
答案1
你说这是私人回购- 我猜这意味着它需要用户名和密码。您如何提供这些信息?
如果你有以下凭证/root/.git-credentials
(如所述这里)但git clone
仍然不起作用,可能是因为$HOME
未设置在用户数据脚本,因此git
找不到凭证文件。
两个选项:
HOME=/root
在运行前设置git clone
,或- 将
.git-credentials
文件保存到/
(因为这是大概$HOME
当未设置时,会尝试在哪里找到它)。
希望有帮助:)