Maison > Article > développement back-end > Pipeline CI/CD github avec Laravel
Ceci est mon premier message, donc vous ne comprendrez peut-être pas beaucoup de choses, mais je vais essayer de le dire exactement comme je l'ai fait ou comme je le fais, InshaAllah.
Généralement, je ne reçois pas de bon message en bengali, j'ai réfléchi à la façon dont je déploie le site Laravel dans cPanel en utilisant CI/CD et si c'est sous forme de message, cela me sera utile plus tard et de nombreuses personnes pourront également bénéficier à mon frère. Passons donc à la tâche principale.
Dans un premier temps, nous devons nous connecter à cPanel et accéder au menu Comptes FTP. Après y être allé, nous devons ouvrir un compte FTP. Et si le compte y est créé avec succès, il ressemblera à l'image ci-dessous.
Une fois le compte créé, enregistrez le nom d'utilisateur, le serveur, le port, ils seront utiles plus tard
.
Après cela, vous créez la base de données, vous devez le savoir si vous êtes développeur, elle n'est donc pas affichée.
Après cela, connectez-vous à github et vérifiez le référentiel de votre projet.
Et faites comme l'image ci-dessous.
Après cela, vous pouvez accéder au menu Action et vous verrez une interface comme ci-dessous, à partir d'ici cliquez ici pour configurer vous-même un flux de travail, après cela, il vous dira d'écrire Logic dans yml. Copiez et collez le fichier suivant, donnez le nom de votre base de données, votre nom d'utilisateur, votre mot de passe
.
`nom : Laravel CI/CD
sur :
pousser :
succursales : [maître]
pull_request :
succursales : [maître]
emplois :
déploiement Web :
nom : Déploiement
exécution : ubuntu-latest
services: mysql: image: mysql:5.7 ports: - 3306:3306 env: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: dbname MYSQL_USER: username MYSQL_PASSWORD: password options: '--health-cmd="mysqladmin ping --silent" --health-interval=10s --health-timeout=5s --health-retries=3' steps: - uses: actions/checkout@v2.3.2 - name: Setup PHP uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e with: php-version: '8.1.21' - name: Copy .env run: php -r "file_exists('.env') || copy('.env.example', '.env');" - name: Update .env for CI environment run: | sed -i 's/^DB_CONNECTION=.*/DB_CONNECTION=mysql/' .env sed -i 's/^DB_HOST=.*/DB_HOST=127.0.0.1/' .env sed -i 's/^DB_PORT=.*/DB_PORT=3306/' .env sed -i 's/^DB_DATABASE=.*/DB_DATABASE=dbname/' .env sed -i 's/^DB_USERNAME=.*/DB_USERNAME=username/' .env sed -i 's/^DB_PASSWORD=.*/DB_PASSWORD=password/' .env - name: Install Dependencies run: composer install --ignore-platform-reqs - name: Generate key run: php artisan key:generate - name: Wait for MySQL to be ready run: | until mysqladmin ping --host=127.0.0.1 --user=username --password=password --silent; do echo "Waiting for database connection..." sleep 5 done - name: Test Database Connection run: php -r "new PDO('mysql:host=127.0.0.1;dbname=dbname', 'username', 'password');" - name: Rollback Migrations and Seed run: php artisan migrate:fresh --seed --verbose - name: Directory Permissions run: chmod -R 775 storage - name: ? Sync files uses: SamKirkland/FTP-Deploy-Action@4.0.0 with: server: ${{ secrets.FTP_SERVER }} username: ${{ secrets.FTP_USERNAME }} password: ${{ secrets.FTP_PASSWORD }} server-dir: / local-dir: ./ exclude: | vendor/* node_modules/*
`
Après cela, cliquez sur le bouton Valider les modifications, puis s'il y a du code dans la branche master de votre Git, ils seront stockés dans le dossier public_html de votre cPanel. Et localement, vous devez être mis à jour avec le pool de la branche principale. La première fois, le téléchargement prendra beaucoup de temps, mais la prochaine fois, cela ne prendra pas beaucoup de temps. Dès qu'un nouveau code est poussé vers la branche master, il ira automatiquement sur le serveur sans aucun problème, cela prend beaucoup moins de temps et booste le travail.
J'espère que vous comprenez. S'il y a une erreur, n'hésitez pas à me le faire savoir dans les commentaires
.
Et si vous aimez, n'hésitez pas à commenter
Merci.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!