Dans GitLab, nous pouvons utiliser GitLab CI/CD pour automatiser la création, les tests et le déploiement de code. Normalement, nous aimerions synchroniser tous les fichiers sur GitLab CI/CD afin qu'ils puissent être testés et déployés.
Cependant, dans certains cas, vous souhaiterez peut-être désactiver la synchronisation de certains dossiers ou fichiers. Cet article explique comment spécifier qu'un dossier n'est pas autorisé à être synchronisé dans GitLab.
Tout d'abord, vous devez créer un fichier nommé ".gitlab-ci.yml" dans GitLab. Ce fichier est chargé de définir le pipeline CI/CD de votre projet et de spécifier comment votre code sera construit, testé et déployé.
Ensuite, vous devez utiliser le mot-clé "ignore" dans le fichier ".gitlab-ci.yml" pour spécifier les dossiers qui n'ont pas besoin d'être synchronisés. Par exemple, si vous souhaitez désactiver la synchronisation d'un dossier nommé "docs", vous pouvez ajouter le code suivant dans le fichier ".gitlab-ci.yml" :
rsync: script: - rsync -avz --exclude 'docs/' $CI_PROJECT_DIR/ user@example.com:/var/www/html/
Dans ce code, "rsync" est un fichier utilisé pour synchroniser les fichiers de la commande, "$CI_PROJECT_DIR" pointe vers le répertoire racine du projet, "user@example.com" est l'adresse de votre serveur et "/var/www/html/" est le dossier cible que vous souhaitez synchroniser à. Parmi eux, "--exclude' docs/'" indique d'exclure tous les fichiers du dossier "docs".
En plus d'utiliser le mot-clé "ignorer", vous pouvez également utiliser d'autres options pour spécifier les fichiers ou dossiers qui n'ont pas besoin d'être synchronisés. Par exemple, le mot-clé « exclude_files » peut être utilisé pour spécifier une liste de fichiers à exclure :
rsync: script: - rsync -avz --exclude-from 'exclude_list.txt' $CI_PROJECT_DIR/ user@example.com:/var/www/html/
Dans ce code, "--exclude-from" indique d'utiliser un fichier nommé "exclude_list.txt" comme liste d'exclusion.
De plus, vous pouvez utiliser le filtre de fichiers de GitLab CI/CD pour exclure les fichiers qui n'ont pas besoin d'être synchronisés. Par exemple, si vous souhaitez exclure tous les fichiers avec l'extension ".tmp" et ".log", vous pouvez ajouter le code suivant dans le fichier ".gitlab-ci.yml" :
rsync: script: - rsync -avz $CI_PROJECT_DIR/ user@example.com:/var/www/html/ | grep -vE '\.(tmp|log)$' | tee /tmp/rsync.log
Dans cet exemple, "grep " La commande est utilisée pour filtrer tous les fichiers avec l'extension ".tmp" et ".log", et la commande "tee" est utilisée pour afficher la sortie filtrée à l'écran et le fichier /tmp/rsync.log en même temps. temps.
En bref, il est très simple de spécifier les dossiers ou fichiers qui n'ont pas besoin d'être synchronisés dans GitLab. Vous pouvez le faire en utilisant le mot-clé « ignorer », des filtres de fichiers ou des listes d'exclusion. Quelle que soit la méthode que vous choisissez, vous pouvez facilement contrôler quels fichiers et dossiers sont synchronisés, optimisant ainsi l'efficacité de votre pipeline CI/CD.
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!