由于某些文件中的权限错误,无法部署应用

时间:2016-12-21 12:52:45

标签: openshift

我必须修改一个应用程序已经有一段时间了。今天我做了另一次部署

Counting objects: 16, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (16/16), done.
Writing objects: 100% (16/16), 1.44 KiB | 0 bytes/s, done.
Total 16 (delta 11), reused 0 (delta 0)
remote: Stopping Cron cartridge
remote: CLIENT_RESULT: cron scheduling service is already disabled for gear <<OPENSHIFHASH>>
remote: Stopping PHP 5.4 cartridge (Apache+mod_php)
remote: Stopping PHPMyAdmin cartridge
remote: Operation not permitted - /var/lib/openshift/<<OPENSHIFHASH>>/app-deployments/2016-09-25_11-55-15.153/repo/utils/PkgInfo.pyc
To ssh://<<OPENSHIFHASH>>@<<APP>>.rhcloud.com/~/git/app.git/
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'ssh://<<OPENSHIFHASH>>@<<APP>>.rhcloud.com/~/git/app.git/'

然后我使用ssh登录,我发现实际上文件PkgInfo.pycroot拥有,而实际上应该由应用拥有

像这样

-rw-------. 1 <<OPENSHIFHASH>> <<OPENSHIFHASH>>  2929 Sep 25 11:55 HashCache.pyc
-rw-------. 1 <<OPENSHIFHASH>> <<OPENSHIFHASH>>     0 Sep 25 11:55 __init__.py
-rw-------. 1 root                     root                       101 Oct 23 00:10 __init__.pyc
-rw-------. 1 <<OPENSHIFHASH>> <<OPENSHIFHASH>>  8991 Sep 25 11:55 MultiPart.py
-rw-------. 1 <<OPENSHIFHASH>> <<OPENSHIFHASH>>  8051 Sep 25 11:55 MultiPart.pyc
-rw-------. 1 <<OPENSHIFHASH>> <<OPENSHIFHASH>>   646 Sep 25 11:55 PkgInfo.py
-rw-------. 1 root                     root                       613 Oct 23 00:10 PkgInfo.pyc
-rw-------. 1 <<OPENSHIFHASH>> <<OPENSHIFHASH>>  6607 Sep 25 11:55 Progress.py

为什么该文件会更改所有者?该文件已于10月23日更新,但我(作为应用程序)我无法将其更改为root

任何想法?

1 个答案:

答案 0 :(得分:0)

我相信虽然使用不同的磁带/应用程序架构,但我遇到了同样的问题,因此错误日志不同。 OpenShift帮助建议to file a bug about it

我目前的解决方法是使用手动部署:

  1. 使用$ rhc app-configure <YOUR_APP> --no-auto-deploy
  2. 停用自动部署
  3. $ git push origin
  4. $ ssh <YOUR_APP>@<YOUR_APP>.rhcloud.com
  5. $ gear build
  6. 为所有墨盒运行gear start - 确保它们成功运行
  7. 这不是最佳选择,但希望有所帮助。