@if (error()) { } @if (jobId(); as id) { } @if (project(); as p) { @if (p.kind !== 'static') {

Actions

Chaque action est enregistrée dans le journal avec sa sortie.

@if (p.git) { } @if (!p.self) { }
} @if (p.git?.detached) {

Le projet tourne sur un ancien commit ({{ p.git?.commit?.short }}). La mise à jour est bloquée tant qu’il n’est pas revenu sur la branche.

} @if (p.git?.dirty) {

{{ p.git?.dirty }} fichier(s) suivi(s) par git ont été modifiés directement sur le serveur. Le git pull peut échouer : modifie le code sur ton PC et pousse-le plutôt.

}

Conteneurs

@for (container of p.containers; track container.id) { } @empty { }
{{ container.name }} {{ container.status }}
@if (p.kind === 'static') { Servi directement par Caddy, sans conteneur. } @else { Aucun conteneur pour ce projet (jamais lancé ou supprimé). }
@if (p.git; as git) {

Dépôt git

Dépôt
{{ p.remote ?? '–' }}
Branche
{{ git.detached ? 'aucune (ancien commit)' : git.branch }}
Version en ligne
@if (git.commit) { {{ git.commit.short }} · {{ git.commit.subject }} {{ git.commit.author }}, {{ relative(git.commit.date) }} }
Nouveautés
@if (git.behind) { } @else { À jour (depuis la dernière vérification) }
} @else if (p.kind === 'static') {

Mettre à jour le site

Dernière mise à jour des fichiers : {{ dateTime(p.updatedAt) }}. Le build se fait sur ton PC, puis on envoie le dossier (voir la procédure) :

{{ staticDeploy() }}
} @else {

Dépôt git

Pas de dépôt git dans project/ : la mise à jour par git n’est pas disponible.
}
@if (p.commits.length) {

Historique

Revenir à un commit précédent si une mise à jour a cassé quelque chose.

@for (commit of p.commits; track commit.hash) { }
{{ commit.short }} {{ commit.subject }} {{ commit.author }} · {{ dateTime(commit.date) }} @if (isCurrent(commit)) { en ligne } @else { }
} @if (p.compose) {

{{ p.composeFile }}

@if (p.containers.length) { Modifier }
{{ p.compose }}
} }