Wenn ein Stoff Aufgabe auf einem Remote-Server ausgeführt ich folgende Stack-Trace erhalten:Warum wirft Fabric "TypeError: argument muss ein int sein, oder haben Sie eine fileno() Methode"?
[x.x.x.x] run: git fetch && git reset --hard origin/develop
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
self.run()
File "/var/lib/jenkins/jobs/deploy/workspace/.pyenv/lib/python2.6/site-packages/ssh/agent.py", line 115, in run
self._communicate()
File "/var/lib/jenkins/jobs/deploy/workspace/.pyenv/lib/python2.6/site-packages/ssh/agent.py", line 125, in _communicate
events = select([self._agent._conn, self.__inr], [], [], 0.5)
TypeError: argument must be an int, or have a fileno() method.
Die Tatsache, dass die Gewebe-Aufgabe ein git holen und dass Ausnahmen in ssh angehoben auszuführen versucht/Agenten .py lässt mich denken, dass etwas mit der SSH-Authentifizierung nicht stimmt.
Derselbe Benutzer kann git fetch außerhalb Fabric ausführen, und die Aufgabe läuft gut auf meinem Laptop.
Was geht hier vor? Wie behebe ich dieses Problem?