ホームページ  >  記事  >  開発ツール  >  gitlab はフォルダーの同期を許可しないことをどのように指定しますか?

gitlab はフォルダーの同期を許可しないことをどのように指定しますか?

PHPz
PHPzオリジナル
2023-04-10 09:03:27829ブラウズ

GitLab では、GitLab CI/CD を使用してコードの構築、テスト、デプロイを自動化できます。通常、すべてのファイルを GitLab CI/CD に同期して、テストおよびデプロイできるようにしたいと考えます。

ただし、場合によっては、特定のフォルダーまたはファイルの同期を無効にしたい場合があります。この記事では、GitLab でフォルダーの同期を許可しないように指定する方法を紹介します。

まず、GitLab で「.gitlab-ci.yml」という名前のファイルを作成する必要があります。このファイルは、プロジェクトの CI/CD パイプラインを定義し、コードの構築、テスト、デプロイ方法を指定する役割を果たします。

次に、「.gitlab-ci.yml」ファイルの「ignore」キーワードを使用して、同期する必要のないフォルダーを指定する必要があります。たとえば、「docs」という名前のフォルダーの同期を無効にする場合は、「.gitlab-ci.yml」ファイルに次のコードを追加できます。

rsync:
  script:
    - rsync -avz --exclude 'docs/' $CI_PROJECT_DIR/ user@example.com:/var/www/html/

このコードでは、「rsync」はa ファイルの同期に使用されるコマンド。「$CI_PROJECT_DIR」はプロジェクトのルート ディレクトリを指し、「user@example.com」はサーバー アドレス、「/var/www/html/」は同期するターゲット フォルダーです。に同期します。このうち、「--exclude' docs/'」は、「docs」フォルダ内のすべてのファイルを除外することを示します。

「ignore」キーワードの使用に加えて、他のオプションを使用して、同期する必要のないファイルまたはフォルダーを指定することもできます。たとえば、「exclude_files」キーワードを使用して、除外するファイルのリストを指定できます。

rsync:
  script:
    - rsync -avz --exclude-from 'exclude_list.txt' $CI_PROJECT_DIR/ user@example.com:/var/www/html/

このコードでは、「--exclude-from」は、「exclude_list.txt」という名前のファイルを使用することを示します。除外リスト。

さらに、GitLab CI/CD のファイル フィルターを使用して、同期する必要のないファイルを除外することもできます。たとえば、拡張子「.tmp」および「.log」を持つすべてのファイルを除外する場合は、「.gitlab-ci.yml」ファイルに次のコードを追加できます。たとえば、「grep」コマンドは拡張子「.tmp」および「.log」を持つすべてのファイルをフィルタリングするために使用され、「tee」コマンドはフィルタリングされた出力を画面と /tmp/rsync.log に出力するために使用されます。同時にファイルします。

つまり、GitLab で同期する必要のないフォルダーまたはファイルを指定するのは非常に簡単です。これを行うには、「ignore」キーワード、ファイル フィルター、または除外リストを使用します。どの方法を選択しても、どのファイルとフォルダーを同期するかを簡単に制御でき、CI/CD パイプラインの効率を最適化できます。

以上がgitlab はフォルダーの同期を許可しないことをどのように指定しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。