

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Déployer le SDK Hub avec systemd
<a name="managedintegrations-sdk-v2-cookbook-deployment-hub-deployment-scripts"></a>

**Important**  
 Suivez le `hubSystemdSetup` répertoire `readme.md` du fichier release.tgz pour obtenir les dernières mises à jour. 

Cette section décrit les scripts et les processus de déploiement et de configuration des services sur un périphérique du Linux-based hub.

## Présentation de
<a name="managedintegrations-sdk-v2-cookbook-deployment-overview"></a>

Le processus de déploiement comprend deux scripts principaux :
+ `copy_to_hub.sh`: s'exécute sur la machine hôte pour copier les fichiers nécessaires sur le hub
+ `setup_hub.sh`: s'exécute sur le hub pour configurer l'environnement et déployer les services

En outre, `systemd/deploy_iotshd_services_on_hub.sh` gère la séquence d'amorçage des processus et la gestion des autorisations de processus, et est automatiquement déclenché par`setup_hub.sh`.

## Conditions préalables
<a name="managedintegrations-sdk-v2-cookbook-deployment-prerequisites"></a>

Les conditions requises répertoriées sont requises pour un déploiement réussi.
+ le service systemd est disponible sur le hub
+ Accès SSH au périphérique hub
+ Privilèges Sudo sur le périphérique du hub
+ `scp`utilitaire installé sur la machine hôte
+ `sed`utilitaire installé sur la machine hôte
+ utilitaire de décompression installé sur la machine hôte

## Structure de fichier
<a name="managedintegrations-sdk-v2-cookbook-deployment-file-structure"></a>

La structure du fichier est conçue pour faciliter l'organisation et la gestion de ses différents composants, en permettant un accès et une navigation efficaces dans le contenu.

```
hubSystemdSetup/
├── README.md
├── copy_to_hub.sh 
├── setup_hub.sh
├── iotshd_config.json  # Sample configuration file
├── local_certs/  # Directory for DHA certificates
└── systemd/ 
    ├── *.service.template  # Systemd service templates 
    └── deploy_iotshd_services_on_hub.sh
```

Dans le fichier tgz de la version SDK, la structure globale du fichier est la suivante :

```
IoT-managed-integrations-Hub-SDK-aarch64-v1.0.0.tgz
├──package/
    ├──greengrass/
        ├──artifacts/
        ├──recipes/
    ├──hubSystemdSetup/
        ├── REAME.md
        ├── copy_to_hub.sh 
        ├── setup_hub.sh
        ├── iotshd_config.json  # Sample configuration file
        ├── local_certs/  # Directory for DHA certificates
        └── systemd/ 
            ├── *.service.template  # Systemd service templates 
            └── deploy_iotshd_services_on_hub.sh
```

## Configuration initiale du
<a name="managedintegrations-sdk-v2-cookbook-deployment-initial-setup"></a>

### Extraire le package du SDK
<a name="managedintegrations-sdk-v2-cookbook-deployment-extract-sdk"></a>

```
tar -xzf managed-integrations-Hub-SDK-v{{Version}}-linux-aarch64-{{timestamp}}.tgz
```

Accédez au répertoire extrait et préparez le package :

```
# Create package.zip containing required artifacts
zip -r package.zip package/greengrass/artifacts
# Move package.zip to the hubSystemdSetup directory
mv package.zip ../hubSystemdSetup/
```

### Ajouter des fichiers de configuration de l'appareil
<a name="managedintegrations-sdk-v2-cookbook-deployment-prepare-certificates"></a>

Suivez les deux étapes répertoriées pour créer les fichiers de configuration de l'appareil et copiez-les dans le hub.

1. [Ajoutez des fichiers de configuration de périphérique](managedintegrations-sdk-v2-cookbook-hubsetup.md#managedintegrations-sdk-v2-cookbook-genconfig) pour créer les fichiers de configuration de périphérique nécessaires. Le SDK utilise ce fichier pour sa fonction.

1. [Copiez les fichiers de configuration](managedintegrations-sdk-v2-cookbook-hubsetup.md#managedintegrations-sdk-v2-cookbook-config-contents) pour copier les fichiers de configuration créés sur le hub. 

## Copier des fichiers sur le hub
<a name="managedintegrations-sdk-v2-cookbook-deployment-copy-files-to-hub"></a>

Exécutez le script de déploiement depuis votre machine hôte :

```
chmod +x copy_to_hub.sh
./copy_to_hub.sh {{hub_ip_address}} {{package_file}}
```

**Example Exemple**  

```
./copy_to_hub.sh 192.168.50.223 ~/Downloads/EAR3-package.zip
```

Cela copie :
+ Le fichier du package (renommé package.zip sur le hub)
+ Fichiers de configuration
+ Certificates
+ fichiers de service Systemd

## Configurer le hub
<a name="managedintegrations-sdk-v2-cookbook-deployment-set-up-hub"></a>

Une fois les fichiers copiés, connectez-vous au hub en SSH et exécutez le script de configuration :

```
ssh hub@{{hub_ip}}
chmod +x setup_hub.sh
sudo ./setup_hub.sh
```

### Configurations des utilisateurs et des groupes
<a name="managedintegrations-sdk-v2-cookbook-deployment-user-group-config"></a>

**Par défaut, nous utilisons le **hub utilisateur et le hub** de groupe pour les composants du SDK.** Il existe plusieurs manières de les configurer :
+ Utilisez une option personnalisée user/group :

  ```
  sudo ./setup_hub.sh --user={{USERNAME}} --group={{GROUPNAME}}
  ```
+ Créez-les manuellement avant d'exécuter le script de configuration :

  ```
  sudo groupadd -f {{GROUPNAME}}
  sudo useradd -r -g {{GROUPNAME}} {{USERNAME}}
  ```
+ Ajoutez les commandes`setup_hub.sh`.

## Gestion des services 
<a name="managedintegrations-sdk-v2-cookbook-deployment-manage-services"></a>

Pour redémarrer tous les services, exécutez le script suivant depuis le hub :

```
sudo /usr/local/bin/deploy_iotshd_services_on_hub.sh
```

Le script de configuration créera les répertoires nécessaires, définira les autorisations appropriées et déploiera les services automatiquement. Si vous ne l'utilisez pas SSH/SCP, vous devez le modifier en `copy_to_hub.sh` fonction de votre méthode de déploiement spécifique. Assurez-vous que tous les fichiers de certificats et toutes les configurations sont correctement configurés avant le déploiement.