У меня возникли некоторые проблемы с развертыванием набора метаний на моем новом MacBook. В Google есть некоторые проблемы, но то, что они рекомендуют, не работает ... Кроме того, тот же конфиг работает на High Sierra на другом Mac, так что, похоже, я что-то не так понимаю. Вот мои пип пакеты:
Package Version
------------ -------
asn1crypto 0.24.0
bcrypt 3.1.4
cffi 1.11.5
cryptography 2.3.1
fabric 2.3.1
idna 2.7
invoke 1.1.1
paramiko 2.4.1
pip 18.1
pyasn1 0.4.4
pycparser 2.18
PyNaCl 1.2.1
setuptools 40.6.3
six 1.11.0
wheel 0.32.3
И это мой потрясающий файл:
from fabric import Connection
from invoke import task
@task
def deploy(c, branch='master', directory='*secret*', compile='true'):
with Connection('*secret*') as c:
deploy_process(c, branch, directory, compile)
def deploy_process(c, branch, directory, compile):
code_dir = '/var/www/' + directory
service = directory + ".service"
if not c.run("cd {} && git fetch origin".format(code_dir), warn=True):
c.run("git clone *also secret repo* {}".format(code_dir))
c.run("cd {} && git fetch origin".format(code_dir))
c.run("cd {} && git checkout -f {}".format(code_dir, branch))
c.run("cd {} && git pull origin {}".format(code_dir, branch))
if not c.run("test -d {}/tmp/pids".format(code_dir), warn=True):
c.run("cd {} && mkdir -p tmp/pids".format(code_dir))
c.run("cd {} && bundle install --without development test".format(code_dir))
c.run("cd {} && rails tmp:cache:clear db:migrate RAILS_ENV=production".format(code_dir))
if (compile == 'true'):
c.run("cd {} && rails assets:precompile RAILS_ENV=production".format(code_dir))
c.run("cd {} && rails assets:clean RAILS_ENV=production".format(code_dir))
c.run("systemctl restart {}".format(service))
И есть ошибка:
Traceback (most recent call last):
File "/usr/local/bin/fab", line 11, in <module>
sys.exit(program.run())
File "/usr/local/lib/python3.7/site-packages/invoke/program.py", line 335, in run
self.execute()
File "/usr/local/lib/python3.7/site-packages/invoke/program.py", line 491, in execute
executor.execute(*self.tasks)
File "/usr/local/lib/python3.7/site-packages/invoke/executor.py", line 129, in execute
result = call.task(*args, **call.kwargs)
File "/usr/local/lib/python3.7/site-packages/invoke/tasks.py", line 128, in __call__
result = self.body(*args, **kwargs)
File "/Users/vassa/Projects/pochtagram/fabfile.py", line 11, in deploy
if not c.run("cd {} && git fetch origin".format(code_dir), warn=True):
File "<decorator-gen-3>", line 2, in run
File "/usr/local/lib/python3.7/site-packages/fabric/connection.py", line 29, in opens
self.open()
File "/usr/local/lib/python3.7/site-packages/fabric/connection.py", line 541, in open
self.client.connect(**kwargs)
File "/usr/local/lib/python3.7/site-packages/paramiko/client.py", line 424, in connect
passphrase,
File "/usr/local/lib/python3.7/site-packages/paramiko/client.py", line 714, in _auth
raise saved_exception
File "/usr/local/lib/python3.7/site-packages/paramiko/client.py", line 686, in _auth
filename, pkey_class, passphrase,
File "/usr/local/lib/python3.7/site-packages/paramiko/client.py", line 551, in _key_from_filepath
key = klass.from_private_key_file(key_path, password)
File "/usr/local/lib/python3.7/site-packages/paramiko/pkey.py", line 206, in from_private_key_file
key = cls(filename=filename, password=password)
File "/usr/local/lib/python3.7/site-packages/paramiko/rsakey.py", line 48, in __init__
self._from_private_key_file(filename, password)
File "/usr/local/lib/python3.7/site-packages/paramiko/rsakey.py", line 169, in _from_private_key_file
data = self._read_private_key_file('RSA', filename, password)
File "/usr/local/lib/python3.7/site-packages/paramiko/pkey.py", line 279, in _read_private_key_file
data = self._read_private_key(tag, f, password)
File "/usr/local/lib/python3.7/site-packages/paramiko/pkey.py", line 289, in _read_private_key
raise SSHException('not a valid ' + tag + ' private key file')
paramiko.ssh_exception.SSHException: not a valid RSA private key file
Надеюсь, кто-нибудь может мне помочь ...