DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Web Dev Zone»Créer et déployer une application Laravel à l’aide d’une approche low-code
    Web Dev Zone

    Créer et déployer une application Laravel à l’aide d’une approche low-code

    novembre 4, 2021
    Créer et déployer une application Laravel à l'aide d'une approche low-code
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Dans cet article, je souhaite montrer à quel point Laraboot peut vous aider à créer rapidement et facilement un point de départ solide pour votre prochaine application Laravel, y compris les modèles, les routes CRUD et l’intégration Jetstream. Mieux encore, nous n’aurons pas à écrire de code.

    Une fois l’application prête, nous utiliserons AWS ECR pour la déployer.

    Initialiser et configurer

    Conditions préalables

    Assurez-vous au préalable que votre système répond aux exigences suivantes :

    Installer Laraboot

    Laraboot est installé via NPM. Découvrez le projet ici.

    npm i -g @laraboot-io/cli

    Créer un nouveau projet

    laraboot new laraboot-demo-app --php-version=8 && cd laraboot-demo-app

    Créer des tâches

    Les tâches de build ne sont que des buildpacks personnalisés qui créent ou modifient un projet Laraboot.

    Dans cet article, nous allons utiliser plusieurs tâches de build. Si vous vous sentez aventureux, vous pouvez plonger dans le répertoire des tâches de construction.

    Ceux dont nous avons besoin sont :

    Nous les ajoutons en utilisant laraboot cli comme ça:

    laraboot task add @core/laravel-foundation-provider --format=file
    laraboot task add @core/laravel-config --format=file
    laraboot task add @core/laravel-model --format=file
    laraboot task add @core/laravel-starterkit-buildpack --format=file

    Configurer

    Créons d’abord notre modèle de données. Pour les besoins de ce post, imaginons que nous ayons deux modèles : Post et Comment. Nous les créerons en utilisant le model commande comme ceci :

    laraboot model add Post
    √ Would you like to define your model now? (y/N) · true
    √ Field name? · content
    √ Field type? · varchar
    √ Is this field unique? (y/N) · false
    √ Is this field primary key? (y/N) · false
    √ Would you like to add a new field? (y/N) · false
    Model Post was added
    laraboot model add Comment
    √ Would you like to define your model now? (y/N) · true
    √ Field name? · content
    √ Field type? · varchar
    √ Is this field unique? (y/N) · false
    √ Is this field primary key? (y/N) · false
    √ Would you like to add a new field? (y/N) · false
    Model Comment was added

    Configurez ensuite Jetstream. Ajoutez le contenu suivant à la fin de votre buildpack.yml déposer.

    # buildpack.yml
    laravel-starterkit:
      # Jetstream configuration
      jetstream:
        enabled: true
        teams: true
        stack: livewire
      # Breeze configuration
      breeze:
        enabled: false
        stack: inertia

    Construire

    Une fois configuré, lancez le processus de construction. Notez que le temps de construction dépend des capacités de votre système et si c’est la première fois que vous construisez un projet Laraboo. Les versions suivantes sont nettement plus rapides.

    Si tout se passe comme prévu, vous devriez vous retrouver avec une image conforme à l’OCI nommée laraboot-demo-app.

    Aperçu

    Voyons à quoi ressemble tout en exécutant notre application localement :

    laraboot run --port=9000

    Déployer sur AWS

    Ensuite, nous allons utiliser AWS en tant que fournisseur de cloud et AWS ECR en tant que registre de services, mais vous pouvez déployer sur le CR de votre choix.

    Créer un référentiel ECR à l’aide de l’AWS CLI

    Vous pouvez ignorer cette partie si vous disposez déjà d’un référentiel AWS ECR.

    Il existe deux manières (peut-être plus) de créer un référentiel ECR. Dans cet article, nous utiliserons aws-cli.

    # create an ecr repository
    aws ecr create-repository 
        --repository-name laraboot-demo-app 
        --image-scanning-configuration scanOnPush=true

    Cela affichera quelque chose comme ceci :

    {
        "repository": {
            "repositoryArn": "arn:aws:ecr:us-east-1:xxxxxxxxxxxx:repository/laraboot-demo-app",
            "registryId": "xxxxxxxxxxxx",
            "repositoryName": "laraboot-demo-app",
            "repositoryUri": "xxxxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/laraboot-demo-app",
            "createdAt": "2021-10-13T10:45:53-05:00",
            "imageTagMutability": "MUTABLE",
            "imageScanningConfiguration": {
                "scanOnPush": true
            },
            "encryptionConfiguration": {
                "encryptionType": "AES256"
            }
        }
    }

    Créer un référentiel ECR via la console AWS ECR

    Vous pouvez obtenir la même chose en vous connectant à la console AWS et en vous dirigeant vers la gestion de la console du service ECR.

    • Cliquez sur Créer un référentiel
    • Remplissez les blancs dans le Réglages généraux panneau
    • Cliquez sur Créer un référentiel

    Déployer

    Les étapes pour déployer notre image sont les suivantes :

    • Connectez-vous à AWS ECR
    • Taguez notre image
    • Déployer
    # replace xxxxxxxxxxxx with your AWS account id
    # replace region if it's not us-east-1# sign in to the ECR
    aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin xxxxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com## tag our image
    docker tag laraboot-demo-app:latest xxxxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/laraboot-demo-app:latest## push
    docker push xxxxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/laraboot-demo-app:latest

    Conclusion

    A cette occasion, nous utilisons Laraboot pour mettre en place une nouvelle application Laravel sans avoir à écrire la moindre ligne de code. Cette application a été conteneurisée et déployée sur AWS ECR en quelques minutes.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.