Le CLI est fait pour tourner sans personne devant : des jetons plutôt qu’une session, --yes pour ne rien demander, --json pour être lu par un script, et un code de sortie franc.

Le jeton

Crée un jeton de portée registre si la chaîne ne fait que construire et déployer. Même s’il fuit, personne ne supprime tes serveurs avec.

Créer un jeton

Complet ou registre : ce que chacun autorise.
Pose-le en secret, jamais en clair dans le fichier de configuration.

Isoler les identifiants du runner

ARKYA_HOME évite qu’un runner partagé écrive dans le dossier d’un autre travail. --no-docker saute la connexion au registre quand le travail n’en a pas besoin ; pour un déploiement, laisse-la faire.

GitHub Actions

.github/workflows/deploy.yml
Le nom de version vaut le commit : tu sais toujours quelle ligne de code tourne, et le retour arrière est un ark deploy --release <sha>.

GitLab CI

.gitlab-ci.yml

Vérifier après le déploiement

jq -e sort en erreur si la condition est fausse : le travail échoue sans que tu aies à écrire de test.

Sauvegarder avant, depuis la chaîne

Pour un déploiement qui touche à des données :

Une tâche planifiée plutôt qu’une chaîne

Une sauvegarde nocturne n’a pas besoin d’un runner. Une machine qui tourne déjà, une ligne de cron, et le même CLI :
Dans un crontab, les % doivent être échappés. C’est la cause numéro un des sauvegardes qui ne partent jamais.