mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-20 21:59:38 +02:00
42 lines
1.4 KiB
Ruby
42 lines
1.4 KiB
Ruby
|
class Upgrader::Deployer::Render
|
||
|
def deploy(upgrade)
|
||
|
if Setting.render_deploy_hook.blank?
|
||
|
return {
|
||
|
success: false,
|
||
|
message: I18n.t("upgrader.deployer.render.error_message_not_set"),
|
||
|
troubleshooting_url: "/settings/self_hosting/edit"
|
||
|
}
|
||
|
end
|
||
|
|
||
|
Rails.logger.info I18n.t("upgrader.deployer.render.deploy_log_info", type: upgrade.type, commit_sha: upgrade.commit_sha)
|
||
|
|
||
|
begin
|
||
|
uri = URI.parse(Setting.render_deploy_hook)
|
||
|
uri.query = [ uri.query, "ref=#{upgrade.commit_sha}" ].compact.join("&")
|
||
|
response = Faraday.post(uri.to_s)
|
||
|
|
||
|
unless response.success?
|
||
|
Rails.logger.error I18n.t("upgrader.deployer.render.deploy_log_error", type: upgrade.type, commit_sha: upgrade.commit_sha, error_message: response.body)
|
||
|
return default_error_response
|
||
|
end
|
||
|
|
||
|
{
|
||
|
success: true,
|
||
|
message: I18n.t("upgrader.deployer.render.success_message", commit_sha: upgrade.commit_sha.slice(0, 7))
|
||
|
}
|
||
|
rescue => e
|
||
|
Rails.logger.error I18n.t("upgrader.deployer.render.deploy_log_error", type: upgrade.type, commit_sha: upgrade.commit_sha, error_message: e.message)
|
||
|
default_error_response
|
||
|
end
|
||
|
end
|
||
|
|
||
|
private
|
||
|
def default_error_response
|
||
|
{
|
||
|
success: false,
|
||
|
message: I18n.t("upgrader.deployer.render.error_message_failed_deploy"),
|
||
|
troubleshooting_url: I18n.t("upgrader.deployer.render.troubleshooting_url")
|
||
|
}
|
||
|
end
|
||
|
end
|