Ansible은 특정 문자열이 포함된 파일만 찾습니다.

Ansible은 특정 문자열이 포함된 파일만 찾습니다.

Ansible 플레이북을 작성하는 데 도움이 필요합니다. 지금까지 나는 기본적으로 구성이 포함된 모든 파일을 나열하는 다음을 작성했습니다. 하지만 기본적으로 .git/config 파일을 필터링해야 합니다.

- hosts: all
  connection: local
  gather_facts: no
  tasks:

  - name: "Serching old git URL"
    become: true
    become_user: root
    find:
      paths: builds
      file_type: file
      recurse: yes
      patterns:
        - config$
      use_regex: true
      contains: 'atlgit-01.us.manh.com'

    register: configfiles
  - debug:
      msg: "{{configfiles.files | map(attribute='path')| list }}"

아래는 0 출력입니다.

"/builds/v2020/app/db-upgradesetup-to/.git/config",
"/builds/v2020/app/db-upgradesetup-to/environments/configure/configureEnv.xml",
"/builds/v2020/app/db-upgradesetup-from/.git/config",
"/builds/v2020/app/db-upgradesetup-from/environments/configure/configureEnv.xml",
"/builds/v2020/app/db-upgradesetup-from/ui/help/Content/Resources/images/config.gif",
"/builds/v2020/app/db-upgradesetup-from/ui/help/Content/Resources/images/configure_button.gif",
"/builds/v2020/CI/source/dockerqa/.git/config",
"/builds/v2020/CI/source/docker_ci/.git/config",
"/builds/v2020/escrow/.git/config"

당신의 도움에 감사드립니다

답변1

find 명령에는 필요한 작업을 수행하는 제외 옵션이 있습니다.
제외: '.*./.git.config'

https://docs.ansible.com/ansible/latest/collections/ansible/builtin/find_module.html

관련 정보