J’utilise ceci dans les dépôts git pour faciliter le processus de déploiement
a-simple-systemd-service-autoinstall-script.sh
#!/bin/bash
# Ce script installe et active/démarre un service systemd
# Il installe aussi le fichier de service
export NAME=MyService
cat >/etc/systemd/system/${NAME}.service <<EOF
# TODO Copier & coller le fichier .service systemd ici
EOF
# Active et démarre le service
systemctl enable --now ${NAME}.serviceL’exemple suivant installe automatiquement un .service systemd docker-compose :
a-simple-systemd-service-autoinstall-script-2.sh
#!/bin/bash
# Ce script installe et active/démarre un service systemd
# Il installe aussi le fichier de service
export NAME=MyService
cat >/etc/systemd/system/${NAME}.service <<EOF
[Unit]
Description=${NAME}
Requires=docker.service
After=docker.service
[Service]
Restart=always
User=root
Group=docker
WorkingDirectory=$(pwd)
# Arrête le conteneur (s'il fonctionne) avant que l'unité soit démarrée
ExecStartPre=$(which docker-compose) -f docker-compose.yml down
# Démarre le conteneur quand l'unité est démarrée
ExecStart=$(which docker-compose) -f docker-compose.yml up
# Arrête le conteneur quand l'unité est arrêtée
ExecStop=$(which docker-compose) -f docker-compose.yml down
[Install]
WantedBy=multi-user.target
EOF
# Active et démarre le service
systemctl enable --now ${NAME}.serviceSi cet article vous a aidé, pensez à m'offrir un café ou à faire un don via PayPal pour soutenir la recherche et la publication de nouveaux articles sur TechOverflow