11장. 프로젝트


프로젝트는 자동화 컨트롤러에 표시되는 Ansible 플레이북의 논리 컬렉션입니다. 플레이북 및 플레이북 디렉터리를 다양한 방법으로 관리할 수 있습니다.

  • 자동화 컨트롤러 서버의 프로젝트 기본 경로 아래에 수동으로 배치하여 다음을 수행합니다.
  • 플레이북을 자동화 컨트롤러에서 지원하는 SCM(소스 코드 관리) 시스템에 배치하여 다음을 수행합니다. 여기에는 Git, Subversion, Mercurial 및 Red Hat Insights가 포함됩니다.

Red Hat Insights 프로젝트 생성에 대한 자세한 내용은 Red Hat Ansible Automation Platform 수정을 위한 Red Hat Insights 설정을 참조하십시오.

참고

프로젝트 기본 경로는 /var/lib/awx/projects 입니다. 그러나 시스템 관리자가 수정할 수 있습니다. /etc/tower/conf.d/custom.py 에 구성됩니다.

잘못 설정하면 설치가 비활성화될 수 있으므로 이 파일을 편집할 때 주의하십시오.

프로젝트 페이지에는 현재 사용 가능한 프로젝트 목록이 표시됩니다.

처음에 사용할 수 있는 데모 프로젝트 가 제공됩니다.

기본 뷰는 프로젝트 이름과 해당 상태와 함께 접혀 있지만 각 항목 옆에 있는 Arrow 를 사용하여 확장하면 자세한 내용을 확인할 수 있습니다.

나열된 각 프로젝트에 대해 각 프로젝트 옆에 있는 아이콘을 사용하여 최신 SCM 버전 Refresh 을 가져오거나, 프로젝트를 편집하거나, Edit 프로젝트 속성을 복사할 수 있습니다. Copy

관련 작업이 실행되는 동안 프로젝트를 업데이트할 수 있습니다.

대규모 프로젝트(약 10GB)가 있는 경우 /tmp 의 디스크 공간이 문제가 될 수 있습니다.

Status 는 프로젝트의 상태를 나타내며 다음 중 하나일 수 있습니다(특정 상태 유형에 따라 뷰를 필터링할 수도 있음).

  • 보류 중 - 소스 제어 업데이트가 생성되었지만 아직 대기열에 추가되거나 시작되지 않았습니다. 모든 작업(소스 제어 업데이트뿐만 아니라)은 시스템에서 실행할 준비가 될 때까지 보류 중 상태로 유지됩니다. 준비되지 않은 이유는 다음과 같습니다.

    • 현재 실행 중인 종속 항목이 있으므로 완료될 때까지 기다려야 합니다.
    • 구성된 위치에서 실행할 수 있는 용량이 충분하지 않습니다.
  • waiting - 소스 제어 업데이트가 대기열에 있으며 실행 대기 중입니다.
  • Running - 현재 소스 제어 업데이트가 진행 중입니다.
  • 성공 - 이 프로젝트의 마지막 소스 제어 업데이트가 성공했습니다.
  • Failed - 이 프로젝트의 마지막 소스 제어 업데이트가 실패했습니다.
  • 오류 - 마지막 소스 제어 업데이트 작업이 전혀 실행되지 않았습니다.
  • 취소됨 - 프로젝트의 마지막 소스 제어 업데이트가 취소되었습니다.
  • 업데이트되지 않음 - 프로젝트가 소스 제어용으로 구성되어 있지만 업데이트되지 않았습니다.
  • OK - 프로젝트가 소스 제어용으로 구성되지 않았으며 올바르게 설치되어 있습니다.
  • 누락됨 - 프로젝트가 /var/lib/awx/projects 의 프로젝트 기본 경로에 없습니다. 이는 수동 또는 소스 제어 관리 프로젝트에 적용됩니다.
참고

인증 정보 유형 Manual 의 프로젝트는 SCM 유형 인증 정보로 재구성하지 않고 소스 제어 기반 작업을 업데이트하거나 예약할 수 없습니다.

11.1. 새 프로젝트 추가

자동화 컨트롤러에서 projects라고 하는 플레이북의 논리 컬렉션을 생성할 수 있습니다.

프로세스

  1. 탐색 패널에서 자동화 실행 프로젝트를 선택합니다.
  2. 프로젝트 페이지에서 프로젝트 생성을 클릭하여 프로젝트생성 창을 시작합니다.
  3. 다음 필수 필드에 적절한 세부 정보를 입력합니다.

    • 이름 (필수)
    • 선택 사항: 설명
    • 조직 (필수): 프로젝트에는 하나 이상의 조직이 있어야 합니다. 프로젝트를 생성할 하나의 조직을 선택합니다. 프로젝트가 생성되면 조직을 추가할 수 있습니다.
    • 선택 사항: 실행 환경: 실행 환경의 이름을 입력하거나 이 프로젝트를 실행할 기존 실행 환경 목록에서 검색합니다. 자세한 내용은 실행 환경 생성 및 사용을 참조하십시오.
    • 소스 제어 유형 (필수): 메뉴에서 이 프로젝트와 관련된 SCM 유형을 선택합니다. 다음 섹션의 옵션은 선택한 유형에 따라 사용할 수 있습니다. 자세한 내용은 소스 제어를 사용하여 플레이북을 수동으로 관리하거나 플레이북 관리를 참조하십시오.
    • 선택 사항: 콘텐츠 서명 검증 인증 정보: 이 필드를 사용하여 콘텐츠 확인을 활성화합니다. 프로젝트 동기화 중에 콘텐츠 서명을 확인하는 데 사용할 GPG 키를 지정합니다. 콘텐츠가 변조된 경우 작업이 실행되지 않습니다. 자세한 내용은 프로젝트 서명 및 확인을 참조하십시오.
  4. 프로젝트 생성을 클릭합니다.

추가 리소스

다음은 프로젝트를 소싱하는 방법을 설명합니다.

11.1.1. 플레이북 수동 관리

프로세스

  • 프로젝트 기본 경로 아래에 플레이북을 저장할 하나 이상의 디렉터리를 생성합니다(예: /var/lib/awx/projects/ ).
  • 플레이북 파일을 생성하거나 플레이북 디렉터리에 복사합니다.
  • 서비스가 실행되는 것과 동일한 UNIX 사용자 및 그룹이 플레이북 디렉터리 및 파일을 소유하고 있는지 확인합니다.
  • 권한이 플레이북 디렉터리 및 파일에 적합한지 확인합니다.

문제 해결

  • Ansible Playbook 디렉터리를 기본 프로젝트 경로에 추가하지 않은 경우 오류 메시지가 표시됩니다. 이 오류 문제를 해결하려면 다음 옵션 중 하나를 선택합니다.

    • 적절한 플레이북 디렉터리를 생성하고 (소스 코드 관리) SCM에서 플레이북을 확인합니다.
    • 플레이북을 적절한 플레이북 디렉터리에 복사합니다.

11.1.2. 소스 제어를 사용하여 플레이북 관리

소스 제어를 사용하여 플레이북을 관리할 때 다음 옵션 중 하나를 선택합니다.

11.1.2.1. SCM 유형 - Git 및 Subversion을 사용하도록 플레이북 구성

프로세스

  1. 탐색 패널에서 자동화 실행 프로젝트를 선택합니다.
  2. 사용할 프로젝트 이름을 클릭합니다.
  3. 프로젝트 세부 정보 탭에서 프로젝트 편집을 클릭합니다.
  4. 소스 제어 유형 메뉴에서 적절한 옵션(Git 또는 Subversion)을 선택합니다.
  5. 다음 필드에 적절한 세부 정보를 입력합니다.

    • 소스 제어 URL - 툴팁에서 예제를 참조하십시오.
    • 선택 사항: 소스 제어 분기/태그/커밋: 체크아웃할 소스 제어(Git 또는 Subversion)의 SCM 분기, 태그, 커밋 해시, 임의의 refs 또는 버전 번호(해당하는 경우)를 입력합니다. 다음 필드에 사용자 정의 refspec을 지정하지 않는 한 일부 커밋 해시 및 참조를 사용할 수 없습니다. 비워 두는 경우 기본값은 HEAD 이며 이 프로젝트에 대해 마지막으로 체크아웃된 분기, 태그 또는 커밋입니다.
    • 소스 제어 참조 사양 - 이 필드는 Git 소스 제어와 관련된 옵션이며, Git에 익숙하고 편안한 고급 사용자만 원격 리포지토리에서 다운로드할 참조를 지정해야 합니다. 자세한 내용은 작업 분기 덮어쓰기를 참조하십시오.
    • 소스 제어 인증 정보 - 인증이 필요한 경우 적절한 소스 제어 인증 정보를 선택합니다.
  6. 선택 사항: 옵션 - 해당하는 경우 시작 동작을 선택합니다.

    • clean - 업데이트를 수행하기 전에 로컬 수정 사항을 제거합니다.
    • delete - 업데이트를 수행하기 전에 전체 로컬 리포지토리를 삭제합니다. 리포지토리 크기에 따라 업데이트를 완료하는 데 필요한 시간이 크게 증가할 수 있습니다.
    • 하위 모듈 추적 - 최신 커밋을 추적합니다. 툴팁 Tooltip 에 자세한 정보가 있습니다.
    • 시작 시 버전 업데이트 - 프로젝트의 버전을 원격 소스 제어의 현재 버전으로 업데이트하고 Ansible Galaxy 지원 또는 컬렉션 지원 에서 역할 디렉터리를 캐싱합니다. 자동화 컨트롤러를 사용하면 로컬 버전이 일치하고 역할 및 컬렉션이 마지막 업데이트와 함께 최신 상태인지 확인합니다. 또한 프로젝트가 동기화할 수 있는 것보다 작업이 더 빨리 생성되는 경우 작업 오버플로를 방지하기 위해 이를 선택하면 캐시 제한 시간을 구성하여 지정된 초 동안 이전 프로젝트 동기화를 캐시할 수 있습니다.
    • 분기 덮어쓰기 허용 - 이 프로젝트를 사용하여 프로젝트의 해당 항목 이외의 지정된 SCM 분기 또는 버전으로 시작하는 작업 템플릿 또는 인벤토리 소스를 활성화합니다. 자세한 내용은 작업 분기 덮어쓰기를 참조하십시오.
  7. 프로젝트 저장을 클릭합니다.

11.1.2.2. SCM 유형 - Red Hat Insights를 사용하도록 플레이북 구성

프로세스

  1. 탐색 패널에서 자동화 실행 프로젝트를 선택합니다.
  2. 사용할 프로젝트 이름을 클릭합니다.
  3. 프로젝트 세부 정보 탭에서 프로젝트 편집을 클릭합니다.
  4. 소스 제어 유형 메뉴에서 Red Hat Insights 를 선택합니다.
  5. Insights 인증 정보 필드에서 Red Hat Insights에 인증을 위한 인증 정보가 필요하므로 Insights와 함께 사용할 적절한 인증 정보를 선택합니다.
  6. 선택 사항: 옵션 필드에서 해당하는 경우 시작 동작을 선택합니다.

    • clean - 업데이트를 수행하기 전에 로컬 수정 사항을 제거합니다.
    • delete - 업데이트를 수행하기 전에 전체 로컬 리포지토리를 삭제합니다. 리포지토리 크기에 따라 업데이트를 완료하는 데 필요한 시간이 크게 증가할 수 있습니다.
    • 시작 시 버전 업데이트 - 프로젝트의 버전을 원격 소스 제어의 현재 버전으로 업데이트하고 Ansible Galaxy 지원 또는 컬렉션 지원 의 역할 디렉터리를 캐시합니다. 자동화 컨트롤러를 사용하면 로컬 버전이 일치하고 역할 및 컬렉션이 최신 상태인지 확인합니다. 프로젝트가 동기화할 수 있는 것보다 작업이 더 빨리 생성되는 경우 이를 선택하면 작업 오버플로를 방지하기 위해 특정 시간(초)에 대한 이전 프로젝트 동기화를 캐시하도록 Cache Timeout을 구성할 수 있습니다.
  7. 프로젝트 저장을 클릭합니다.

11.1.2.3. SCM 유형 - 원격 아카이브를 사용하도록 플레이북 구성

원격 아카이브를 사용하는 플레이북을 사용하면 버전이 지정된 아티팩트 또는 릴리스를 생성하는 빌드 프로세스를 기반으로 프로젝트가 단일 아카이브에 해당 프로젝트의 모든 요구 사항을 포함할 수 있습니다.

프로세스

  1. 탐색 패널에서 자동화 실행 프로젝트를 선택합니다.
  2. 사용할 프로젝트 이름을 클릭합니다.
  3. 프로젝트 세부 정보 탭에서 프로젝트 편집을 클릭합니다.
  4. 소스 제어 유형 메뉴에서 원격 아카이브 를 선택합니다.
  5. 다음 필드에 적절한 세부 정보를 입력합니다.

    • 소스 제어 URL - GitHub 릴리스 또는 Artifactory 에 저장된 빌드 아티팩트와 같은 원격 아카이브에 대한 URL이 필요하며 사용할 프로젝트 경로에 압축을 풉니다.
    • 소스 제어 인증 정보 - 인증이 필요한 경우 적절한 소스 제어 인증 정보를 선택합니다.
  6. 선택 사항: 옵션 필드에서 해당하는 경우 시작 동작을 선택합니다.

    • clean - 업데이트를 수행하기 전에 로컬 수정 사항을 제거합니다.
    • delete - 업데이트를 수행하기 전에 전체 로컬 리포지토리를 삭제합니다. 리포지토리 크기에 따라 업데이트를 완료하는 데 필요한 시간이 크게 증가할 수 있습니다.
    • 시작 시 버전 업데이트 - 권장되지 않습니다. 이 옵션은 프로젝트의 버전을 원격 소스 제어의 현재 버전으로 업데이트하고 Ansible Galaxy 지원 또는 컬렉션 지원 의 역할 디렉터리를 캐시합니다.
    • 분기 덮어쓰기 허용 - 권장되지 않습니다. 이 옵션을 사용하면 이 프로젝트를 사용하는 작업 템플릿이 프로젝트의 해당 항목 이외에 지정된 SCM 분기 또는 버전을 사용하여 시작할 수 있습니다.

      참고

      이 소스 제어 유형은 변경되지 않는 아티팩트 개념을 지원하기 위한 것이므로 Galaxy 통합을 비활성화하는 것이 좋습니다(역할의 경우 최소한).

  7. 프로젝트 저장을 클릭합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.