Étape 8 : Mettre à jour le livre de recettes pour créer et copier des fichiers - AWS OpsWorks

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.

Étape 8 : Mettre à jour le livre de recettes pour créer et copier des fichiers

Important

Le AWS OpsWorks Stacks le service a pris fin le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez le AWS Support L'équipe sur AWS Re:post ou via AWS Support haut de gamme.

Mettez à jour votre livre de recettes en ajoutant une recette qui ajoute deux fichiers à l'instance. La première ressource de la recette crée intégralement un fichier avec le code de la recette. Cette action est similaire à l'exécution des commandes Linux cat, echo ou touch, ou des commandes Windows echo ou fsutil. Cette technique est utile pour quelques fichiers simples ou petits. La deuxième ressource de la recette copie un fichier du livre de recettes sur un autre répertoire de l'instance. Cette action est similaire à l'exécution de la commande Linux cp ou de la commande Windows copy. Cette technique est utile dans le cas de fichiers nombreux, volumineux ou complexes.

Avant de démarrer cette étape, complétez Étape 7 : Mettre à jour le livre de recettes pour créer un répertoire pour vous assurer que répertoire parent des fichiers existe déjà.

Pour mettre à jour le livre de recettes sur l'instance et exécuter la nouvelle recette
  1. Sur votre ordinateur local, dans le répertoire opsworks_cookbook_demo, créez un sous-répertoire nommé files.

  2. Dans le sous-répertoire files, créez un fichier nommé hello.txt avec le texte suivant : Hello, World!

  3. Dans le sous-répertoire recipes du répertoire opsworks_cookbook_demo, créez un fichier nommé create_files.rb avec le code suivant. Pour plus d'informations, consultez file et cookbook_file.

    file "Create a file" do content "<html>This is a placeholder for the home page.</html>" group "root" mode "0755" owner "ec2-user" path "/tmp/create-directory-demo/index.html" end cookbook_file "Copy a file" do group "root" mode "0755" owner "ec2-user" path "/tmp/create-directory-demo/hello.txt" source "hello.txt" end

    La ressource file crée un fichier dans le chemin d'accès spécifié. La ressource cookbook_file copie le fichier depuis le répertoire files que vous venez de créer dans le livre de recettes (Chef s'attend à trouver un sous-répertoire standard nommé files depuis lequel il peut copier les fichiers) vers un autre répertoire sur l'instance.

  4. Depuis le terminal ou l'invite de commande, utilisez la commande tar pour créer une nouvelle version du fichier opsworks_cookbook_demo.tar.gz, qui contient le répertoire opsworks_cookbook_demo et son contenu chargé.

  5. Chargez le fichier opsworks_cookbook_demo.tar.gz mis à jour dans votre compartiment S3.

  6. Suivez les procédures décrites dans Étape 5 : Mettre à jour le livre de recettes sur l'instance et exécuter la recette pour mettre à jour le livre de recettes sur l'instance et exécuter la recette. Dans la procédure « Pour exécuter la recette », pour Recipes to execute (Recettes à exécuter), tapez opsworks_cookbook_demo::create_files.

Pour tester la recette
  1. Connectez-vous à l'instance, si vous le n'avez pas déjà fait.

  2. A l'invite de commande, exécutez les commandes suivantes, une à la fois, afin de confirmer que les nouveaux fichiers ont été ajoutés :

    sudo cat /tmp/create-directory-demo/index.html sudo cat /tmp/create-directory-demo/hello.txt

    Le contenu du fichier s'affiche :

    <html>This is a placeholder for the home page.</html> Hello, World!

Dans l'étape suivante, vous allez mettre à jour le livre de recettes pour exécuter une commande sur l'instance.