>  기사  >  개발 도구  >  gitlab은 폴더 동기화가 허용되지 않도록 어떻게 지정합니까?

gitlab은 폴더 동기화가 허용되지 않도록 어떻게 지정합니까?

PHPz
PHPz원래의
2023-04-10 09:03:27830검색

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"는 사용되는 파일입니다. 명령 파일을 동기화하기 위해 "$CI_PROJECT_DIR"은 프로젝트의 루트 디렉터리를 가리키고 "user@example.com"은 서버 주소이며 "/var/www/html/"은 동기화하려는 대상 폴더입니다. 에게. 그 중 "--exclude' docs/'"는 "docs" 폴더에 있는 모든 파일을 제외한다는 의미입니다.

"무시" 키워드를 사용하는 것 외에도 다른 옵션을 사용하여 동기화할 필요가 없는 파일이나 폴더를 지정할 수도 있습니다. 예를 들어 "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" 파일에 다음 코드를 추가하면 됩니다.

rsync:
  script:
    - rsync -avz $CI_PROJECT_DIR/ user@example.com:/var/www/html/ | grep -vE '\.(tmp|log)$' | tee /tmp/rsync.log

이 예에서는 "grep" " 이 명령은 확장자가 ".tmp", ".log"인 모든 파일을 필터링하는 데 사용되며, "tee" 명령은 필터링된 출력을 화면과 /tmp/rsync.log 파일에 동시에 출력하는 데 사용됩니다. 시간.

간단히 말하면 GitLab에서 동기화할 필요가 없는 폴더나 파일을 지정하는 것은 매우 간단합니다. "무시" 키워드, 파일 필터 또는 제외 목록을 사용하여 이를 수행할 수 있습니다. 어떤 방법을 선택하든 동기화할 파일과 폴더를 쉽게 제어하여 CI/CD 파이프라인의 효율성을 최적화할 수 있습니다.

위 내용은 gitlab은 폴더 동기화가 허용되지 않도록 어떻게 지정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.