我需要更新使用composer和bower作为程序包管理器的过时Symfony 2.8项目。
问题是网站可能不会关闭,但是由于项目已过时,我担心作曲家或凉亭在更新过程中会失败,导致网站关闭。
我知道我可以在空运行模式下运行作曲家,在实际更新之前,我会这样做:
composer update --dry-run
composer install --dry-run
但是我绝对要确定只要出现问题,我就可以还原供应商的软件包。所以我想我可以简单地做一个备份tar:
cd /home/project/public_html/
tar cvf /home/project/composer_bower`date +'%Y%m%d'`.tar composer.json composer.lock bower.json .bowerrc vendor/ web/assets/vendor/
这是我应该备份供应商软件包的方式吗? Composer似乎没有恢复还原/安装的内置可能性。还有其他选择吗?
这不是作曲家的工作。
取决于版本控制composer.*
文件(以及任何其他依赖项声明文件,如果您在Symfony下工作,则取决于symfony.lock
,由您决定。
或更安全起见,从依赖项声明+检索到的依赖项(例如代码+ vendor
目录)中创建完整人工制品的副本。
在我们的某些项目中,需要这种敏感性的情况下,每个部署都是完全包含的和版本化的映像。如果部署出现问题,我们总是可以返回旧映像。
在不太重要的项目上,只需将依赖项声明文件放在版本控制上就足够了。