poder traer actualizaciones desde repositorios remotos

sin credenciales ssh no era posible traer los cambios desde repositorios
remotos y permitir actualizar desde el panel.
This commit is contained in:
f 2021-05-20 19:58:08 -03:00
parent dab44aa1cf
commit 908a0a90a8

View file

@ -44,8 +44,8 @@ class Site
#
# @return [Integer]
def fetch
if origin.check_connection :fetch
rugged.fetch(origin)[:received_objects]
if origin.check_connection(:fetch, credentials: credentials)
rugged.fetch(origin, credentials: credentials)[:received_objects]
else
0
end
@ -149,6 +149,26 @@ class Site
private
# Si Sutty tiene una llave privada de tipo ED25519, devuelve las
# credenciales necesarias para trabajar con repositorios remotos.
#
# @return [Nil, Rugged::Credentials::SshKey]
def credentials
return unless File.exist? private_key
@credentials ||= Rugged::Credentials::SshKey.new username: 'git', publickey: public_key, privatekey: private_key
end
# @return [String]
def public_key
@public_key ||= Rails.root.join('.ssh', 'id_ed25519.pub')
end
# @return [String]
def private_key
@private_key ||= Rails.root.join('.ssh', 'id_ed25519')
end
def relativize(file)
Pathname.new(file).relative_path_from(Pathname.new(path)).to_s
end