git aws.push 上的损坏包文件
Posted
技术标签:
【中文标题】git aws.push 上的损坏包文件【英文标题】:Corrupt pack file on git aws.push 【发布时间】:2012-10-23 09:48:44 【问题描述】:在尝试将新版本的应用程序代码(Django 应用程序)部署到 AWS Elastic Beanstalk 环境时,我遇到以下错误:
git aws.push
Counting objects: 1648, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (970/970), done.
Writing objects: 100% (1505/1505), 336.19 KiB, done.
Total 1505 (delta 989), reused 645 (delta 436)
remote:
remote: error: Encountered corrupt pack file: Git command exited with status code 128: error: Trying to write ref refs/heads/master with nonexistent object 8fce6c2b73f03ac271173f85026b3566ef304313
remote: fatal: Cannot update the ref 'refs/heads/master'.
remote:
remote:
To https://xxx:xxx@git.elasticbeanstalk.us-west-2.amazonaws.com/repos/xxx/environment-master
! [remote rejected] HEAD -> master (hook declined)
error: failed to push some refs to 'https://xxx:xxx@git.elasticbeanstalk.us-west-2.amazonaws.com/repos/xxx/environment-master'
我这边似乎没有任何改变。 AWS 方面似乎也没有任何变化。几天前部署工作很顺利,但现在不行。
任何想法将不胜感激。谢谢!
编辑:这里是部署快照日志,显示了无数可能与 virtualenv 相关的问题:http://pastebin.com/Ec0jHt0i
【问题讨论】:
你试过在本地重新打包或 gcing 吗? 是的,看到包文件提到这是我做的第一件事,但它似乎没有效果。 【参考方案1】:可能是因为您已超出允许的最大版本数 (500)。
检查已部署版本数量的命令:
elastic-beanstalk-describe-application-versions |grep '| git-'|wc -l
如果版本数超出,您可以要求 Amazon Web Services 团队为您的应用程序增加限制,或者只删除过时的版本。
希望对你有帮助。
【讨论】:
以上是关于git aws.push 上的损坏包文件的主要内容,如果未能解决你的问题,请参考以下文章
通过 aws.push 部署到 Elastic Beanstalk 时保留某些现有文件
git aws.push 从服务器中删除动态创建的文件 [重复]
Elastic Beanstalk “git aws.push” 只承诺区别?