mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-20 13:26:22 +00:00
Merge branch 'issue-10464' into panel.sutty.nl
This commit is contained in:
commit
77ef80edb2
8 changed files with 26 additions and 17 deletions
|
@ -69,12 +69,11 @@ module Api
|
|||
end
|
||||
end
|
||||
|
||||
# Todos los dominios con WWW habilitado
|
||||
def www_names
|
||||
Site.where(contact: true)
|
||||
.or(Site.where(colaboracion_anonima: true))
|
||||
.select("'www.' || name as name").map(&:name).map do |name|
|
||||
canonicalize name
|
||||
end
|
||||
Site.where(id: DeployWww.all.pluck(:site_id)).select("'www.' || name as name").map(&:name).map do |name|
|
||||
canonicalize name
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -68,9 +68,7 @@ class SitesController < ApplicationController
|
|||
def enqueue
|
||||
authorize site
|
||||
|
||||
# XXX: Convertir en una máquina de estados?
|
||||
site.enqueue!
|
||||
DeployJob.perform_async site.id
|
||||
SiteService.new(site: site).deploy
|
||||
|
||||
redirect_to site_posts_path(site, locale: site.default_locale)
|
||||
end
|
||||
|
|
|
@ -5,6 +5,8 @@ class DeployJob < ApplicationJob
|
|||
class DeployException < StandardError; end
|
||||
class DeployTimedOutException < DeployException; end
|
||||
|
||||
discard_on ActiveRecord::RecordNotFound
|
||||
|
||||
# rubocop:disable Metrics/MethodLength
|
||||
def perform(site, notify: true, time: Time.now, output: false)
|
||||
@output = output
|
||||
|
@ -42,7 +44,8 @@ class DeployJob < ApplicationJob
|
|||
status = false
|
||||
seconds ||= 0
|
||||
size ||= 0
|
||||
urls ||= []
|
||||
# XXX: Hace que se vea la tabla
|
||||
urls ||= [nil]
|
||||
|
||||
notify_exception e, d
|
||||
end
|
||||
|
|
|
@ -130,9 +130,17 @@ class DeployLocal < Deploy
|
|||
run 'yarn install --production', output: output
|
||||
end
|
||||
|
||||
def pnpm(output: output)
|
||||
return true unless pnpm_lock?
|
||||
|
||||
run %(pnpm config set store-dir "#{pnpm_cache_dir}"), output: output
|
||||
run 'pnpm install --production', output: output
|
||||
end
|
||||
|
||||
def bundle(output: false)
|
||||
# XXX: Desde que ya no compartimos el directorio de gemas, tenemos
|
||||
# que hacer limpieza después de instalar.
|
||||
|
||||
run %(bundle install --no-cache --path="#{gems_dir}" --clean --without test development), output: output
|
||||
end
|
||||
|
||||
|
|
|
@ -2,12 +2,6 @@
|
|||
|
||||
# Este metadato permite generar rutas manuales.
|
||||
class MetadataPermalink < MetadataString
|
||||
# El valor por defecto una vez creado es la URL que le asigne Jekyll,
|
||||
# de forma que nunca cambia aunque se cambie el título.
|
||||
def default_value
|
||||
document.url.sub(%r{\A/}, '') unless post.new?
|
||||
end
|
||||
|
||||
# Los permalinks nunca pueden ser privados
|
||||
def private?
|
||||
false
|
||||
|
|
|
@ -3,6 +3,11 @@
|
|||
# Se encargar de guardar cambios en sitios
|
||||
# TODO: Implementar rollback en la configuración
|
||||
SiteService = Struct.new(:site, :usuarie, :params, keyword_init: true) do
|
||||
def deploy
|
||||
site.enqueue!
|
||||
DeployJob.perform_async site.id
|
||||
end
|
||||
|
||||
# Crea un sitio, agrega un rol nuevo y guarda los cambios a la
|
||||
# configuración en el repositorio git
|
||||
def create
|
||||
|
@ -28,6 +33,8 @@ SiteService = Struct.new(:site, :usuarie, :params, keyword_init: true) do
|
|||
add_privacy_policy
|
||||
end
|
||||
|
||||
deploy
|
||||
|
||||
site
|
||||
end
|
||||
|
||||
|
|
|
@ -118,7 +118,7 @@ en:
|
|||
success: Success!
|
||||
error: Error
|
||||
deploy_localized_domain:
|
||||
title: Localized domain
|
||||
title: Domain name by language
|
||||
success: Success!
|
||||
error: Error
|
||||
deploy_rsync:
|
||||
|
|
|
@ -118,7 +118,7 @@ es:
|
|||
success: ¡Éxito!
|
||||
error: Hubo un error
|
||||
deploy_localized_domain:
|
||||
title: Dominio por idioma
|
||||
title: Dominio según idioma
|
||||
success: ¡Éxito!
|
||||
error: Hubo un error
|
||||
deploy_rsync:
|
||||
|
|
Loading…
Reference in a new issue