Déploiement de votre Action Server
Voici les différentes étapes de déploiement de votre Action Server dans la version 2 :
Création d'une image de Action Server
Si vous créez une image incluant votre code d'action et l'entreposez dans un registre de conteneurs, vous pouvez l'exécuter dans le cadre de votre déploiement, sans avoir à déplacer le code entre les serveurs. En outre, vous pouvez ajouter des dépendances supplémentaires de systèmes ou de bibliothèques Python faisant partie de votre code d'action mais n'étant pas incluses dans l'image de base rasa/rasa-sdk.
Automatisation de la création d'image de votre Action Server Image Builds
En plus de créer manuellement une nouvelle image Action Server, vous pouvez utiliser le GitHub Action avec Rasa Action Server pour automatiser les créations d'image.
Les étapes suivantes supposent que vous avez déjà créé un dépôt GitHub et que vous disposez d'un compte Docker Hub.
Pour créer un flux de travail pour créer et pousser une image Docker dans un registre Docker Hub :
- Ajoutez des GitHub Secrets avec votre nom de connexion et votre mot de passe Docker Hub. Voir Créer des secrets chiffrés pour un dépôt. L'exemple utilise les secrets suivants :
- Dans votre dépôt GitHub, créer un fichier : .github/workflows/action_server.yml (exemple https://github.com/monutilisateur/monrasa/.github/workflows/action_server.yml) avec le format suivant :
Nom | Description |
---|---|
DOCKER_HUB_LOGIN | Un nom de connexion pour Docker Hub |
DOCKER_HUB_PASSWORD | Un mot de passe pour Docker Hub |
on: push: branches: - master jobs: build_and_deploy: runs-on: ubuntu-latest name: Créer et pousser l'image du serveur d'action steps: - name: Vérificaiton du dépôt uses: actions/checkout@v2 - id: action_server name: Construisez un serveur d'action avec des actions personnalisées uses: RasaHQ/action-server-gha@main # Liste complète des paramètres: https://github.com/RasaHQ/action-server-gha/tree/main#input-arguments with: docker_image_name: 'account_username/repository_name' docker_registry_login: ${{ secrets.DOCKER_HUB_LOGIN }} docker_registry_password: ${{ secrets.DOCKER_HUB_PASSWORD }} # Plus de détails sur le contexte github : # https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context docker_image_tag: ${{ github.sha }} |
Le flux de travail GitHub Action ci-dessous crée une nouvelle image de Docker chaque fois que les fichiers à l'intérieur du répertoire actions/ ont changé et que les modifications sont poussées dans la branche master.
on:
push:
branches:
- master
paths:
- 'actions/**'
jobs:
build_and_deploy:
runs-on: ubuntu-latest
name: Crée une image Action Server et met à niveau le déploiement de Rasa X
steps:
- name: Checkout repository
uses: actions/checkout@v2
- id: action_server
name: Construire un serveur d'action avec des actions personnalisées
uses: RasaHQ/action-server-gha@master
# Liste complète des paramètres: https://github.com/RasaHQ/action-server-gha/tree/master#input-arguments
with:
docker_image_name: 'account_username/repository_name'
docker_registry_login: ${{ secrets.DOCKER_HUB_LOGIN }}
docker_registry_password: ${{ secrets.DOCKER_HUB_PASSWORD }}
# Plus de détails sur le contexte github :
# https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context
#
# github.sha - Le SHA de validation ayant déclenché l'exécution de flux de travail
docker_image_tag: ${{ github.sha }}
- Transférez vos modifications vers la branche master. Une fois les modifications transmises, le flux de travail crée et envoie une nouvelle image dans le registre Docker Hub.
- Ensuite, vous pouvez utiliser votre nouvelle image de Docker de marque.
- Vous pouvez également étendre votre flux de travail afin de ne pas avoir à mettre à jour manuellement votre déploiement Rasa X. L'exemple ci-dessous montre comment étendre votre flux de travail avec une étape supplémentaire mettant à jour un déploiement de Rasa X avec un Chart de Helm.