

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menyebarkan Hub SDK dengan systemd
<a name="managedintegrations-sdk-v2-cookbook-deployment-hub-deployment-scripts"></a>

**penting**  
 Ikuti `readme.md` di `hubSystemdSetup` direktori file.tgz rilis.tgz untuk pembaruan terbaru. 

Bagian ini menjelaskan skrip dan proses untuk menerapkan dan mengonfigurasi layanan pada perangkat hub. Linux-based 

## Gambaran umum
<a name="managedintegrations-sdk-v2-cookbook-deployment-overview"></a>

Proses penyebaran terdiri dari dua skrip utama:
+ `copy_to_hub.sh`: Berjalan pada mesin host untuk menyalin file yang diperlukan ke hub
+ `setup_hub.sh`: Berjalan di hub untuk mengonfigurasi lingkungan dan menyebarkan layanan

Selain itu, `systemd/deploy_iotshd_services_on_hub.sh` menangani urutan bootstrap proses dan manajemen izin proses, dan secara otomatis dipicu oleh`setup_hub.sh`.

## Prasyarat
<a name="managedintegrations-sdk-v2-cookbook-deployment-prerequisites"></a>

Prasyarat yang terdaftar diperlukan untuk penerapan yang berhasil.
+ layanan systemd tersedia di hub
+ Akses SSH ke perangkat hub
+ Hak istimewa Sudo pada perangkat hub
+ `scp`utilitas diinstal pada mesin host
+ `sed`utilitas diinstal pada mesin host
+ unzip utilitas diinstal pada mesin host

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

Struktur file dirancang untuk memfasilitasi organisasi dan manajemen berbagai komponennya, memungkinkan akses dan navigasi konten yang efisien.

```
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
```

Dalam file tgz rilis SDK, struktur file keseluruhan adalah:

```
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
```

## Pengaturan awal
<a name="managedintegrations-sdk-v2-cookbook-deployment-initial-setup"></a>

### Ekstrak paket SDK
<a name="managedintegrations-sdk-v2-cookbook-deployment-extract-sdk"></a>

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

Arahkan ke direktori yang diekstrak dan siapkan paketnya:

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

### Tambahkan file konfigurasi perangkat
<a name="managedintegrations-sdk-v2-cookbook-deployment-prepare-certificates"></a>

Ikuti dua langkah yang tercantum untuk membuat file konfigurasi perangkat, dan salin ke hub.

1. [Tambahkan file konfigurasi perangkat](managedintegrations-sdk-v2-cookbook-hubsetup.md#managedintegrations-sdk-v2-cookbook-genconfig) untuk membuat file konfigurasi perangkat yang diperlukan. SDK menggunakan file ini untuk fungsinya.

1. [Salin file konfigurasi](managedintegrations-sdk-v2-cookbook-hubsetup.md#managedintegrations-sdk-v2-cookbook-config-contents) untuk menyalin file konfigurasi yang dibuat ke hub. 

## Salin file ke hub
<a name="managedintegrations-sdk-v2-cookbook-deployment-copy-files-to-hub"></a>

Jalankan skrip penerapan dari mesin host Anda:

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

**Example Contoh**  

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

Salinan ini:
+ File paket (berganti nama menjadi package.zip di hub)
+ File konfigurasi
+ Sertifikat
+ File layanan Systemd

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

Setelah file disalin, SSH ke hub dan jalankan skrip pengaturan:

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

### Konfigurasi pengguna dan grup
<a name="managedintegrations-sdk-v2-cookbook-deployment-user-group-config"></a>

Secara default, kami menggunakan **hub** pengguna dan **hub** grup untuk komponen SDK. Ada beberapa cara untuk mengkonfigurasinya:
+ Gunakan kustom user/group:

  ```
  sudo ./setup_hub.sh --user={{USERNAME}} --group={{GROUPNAME}}
  ```
+ Buat secara manual sebelum menjalankan skrip pengaturan:

  ```
  sudo groupadd -f {{GROUPNAME}}
  sudo useradd -r -g {{GROUPNAME}} {{USERNAME}}
  ```
+ Tambahkan perintah di`setup_hub.sh`.

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

Untuk memulai ulang semua layanan, jalankan skrip berikut dari hub:

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

Skrip pengaturan akan membuat direktori yang diperlukan, mengatur izin yang sesuai, dan menyebarkan layanan secara otomatis. Jika Anda tidak menggunakan SSH/SCP, Anda harus memodifikasi `copy_to_hub.sh` untuk metode penerapan spesifik Anda. Pastikan semua file sertifikat dan konfigurasi diatur dengan benar sebelum penerapan.