CLI 명령 사용 예

이 예에서는 개발 시스템에서 공유, 시스템별 및 중요 값을 설정한 다음 해당 값을 프로덕션 시스템에 배포하는 방법을 보여 줍니다.
이 작업은 공유 구성, config.php 파일 및 Commerce CLI 명령의 조합을 사용하여 수행됩니다.

이 예에서는 다음 구성 설정을 사용합니다.

  • 공유 구성 설정에 대한 Vat 번호저장소 이름.

    이러한 속성은 스토어 > 설정 > 구성 > 일반 > 일반 ​에서 찾을 수 있습니다.

  • 중요한 구성 값에 대해 전자 메일을 ​에게 보냅니다.

    이는 스토어 > 설정 > 구성 > 일반 > 연락처 ​에서 찾을 수 있습니다.

  • 시스템별 구성 값에 대한 기본 전자 메일 도메인.

    이는 스토어 > 설정 > 구성 > 고객 > 고객 구성 > 새 계정 옵션 만들기 ​에서 찾을 수 있습니다.

이 예제와 동일한 절차를 사용하여 다음 참조에서 설정을 구성할 수 있습니다.

시작하기 전에

시작하기 전에 개발, 빌드 및 프로덕션 시스템에 대한 필수 구성 요소에 설명된 대로 파일 시스템 권한 및 소유권을 설정합니다.

가정

이 항목에서는 프로덕션 시스템 구성을 수정하는 예를 제공합니다. 원하는 경우 다른 구성 옵션을 선택할 수 있습니다.

이 예에서는 다음과 같이 가정합니다.

  • Git 소스 제어 사용
  • 개발 시스템은 이름이 mconfig인 Git 원격 리포지토리에서 사용할 수 있습니다
  • Git 작업 분기 이름은 m2.2_deploy입니다.

1단계: 개발 시스템에서 구성 설정

개발 시스템에서 기본 로케일과 가중치 단위를 설정하려면 다음을 수행합니다.

  1. 관리자에 로그인합니다.

  2. 스토어 > 설정 > 구성 > 일반 > 일반 ​을 클릭합니다.

  3. 사용 가능한 웹 사이트가 두 개 이상 있는 경우 다음 그림과 같이 왼쪽 상단의 스토어 보기 목록을 사용하여 다른 웹 사이트로 전환하십시오.

    웹 사이트 전환

  4. 오른쪽 창에서 정보 저장 ​을 확장합니다.

  5. 필요한 경우 VAT 번호저장소 이름 필드 옆에 있는 기본 사용 확인란의 선택을 취소하십시오.

  6. 필드에 숫자를 입력합니다(예: 12345).

  7. 저장소 이름 필드에 값(예: My Store)을 입력하십시오.

  8. 구성 저장 ​을 클릭합니다.

  9. 왼쪽 탐색의 일반 아래에서 연락처 ​를 클릭합니다.

  10. 오른쪽 창에서 전자 메일 옵션 ​을 확장합니다.

  11. 필요한 경우 전자 메일 보내기 필드 옆에 있는 기본값 사용 확인란의 선택을 취소하십시오.

  12. 필드에 전자 메일 주소를 입력합니다.

  13. 구성 저장 ​을 클릭합니다.

  14. 다음 그림과 같이 보기 저장 목록을 사용하여 기본 구성 ​을 선택하십시오.

    기본 구성으로 전환

  15. 왼쪽 창에서 고객 > 고객 구성 ​을 클릭합니다.

  16. 오른쪽 창에서 새 계정 옵션 만들기 ​를 확장합니다.

  17. 필요한 경우 기본 전자 메일 도메인 필드 옆에 있는 시스템 값 사용 확인란의 선택을 취소하십시오.

  18. 필드에 도메인 이름을 입력합니다.

  19. 구성 저장 ​을 클릭합니다.

  20. 메시지가 표시되면 캐시를 플러시합니다.

2단계: 구성 업데이트

관리에서 구성을 변경했으므로 다음 단계를 따라 공유 구성을 파일에 작성하십시오.

구성을 업데이트하려면:

  1. 개발 시스템에 파일 시스템 소유자로 로그인하거나 파일 시스템 소유자로 전환합니다.

  2. 애플리케이션 루트로 변경하고 dump 명령을 실행합니다.

    code language-bash
    cd <Magento root dir>
    php bin/magento app:config:dump
    

    예를 들어 Commerce이 /var/www/html/magento2에 설치되어 있으면 다음을 입력하십시오.

    code language-bash
    cd /var/www/html/magento2
    php bin/magento app:config:dump
    
  3. app/etc/config.php이(가) 업데이트되었는지 확인합니다.

    code language-bash
    git status
    

    샘플 응답:

    code language-none
    On branch m2.2_deploy
    Changed but not updated:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
           modified:   app/etc/config.php
    
    note warning
    WARNING
    generated, pub/media 또는 pub/static 디렉터리에 대한 변경 내용을 소스 제어에 제출하지 마십시오. 빌드 시스템에서 이러한 파일을 생성합니다. 개발 시스템에는 프로덕션 시스템에서 사용할 준비가 되지 않은 코드, 테마 등이 있을 수 있습니다.
  4. app/etc/config.php에 대한 변경 내용을 소스 제어에만 체크 인합니다.

    code language-bash
    git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
    

app/etc/env.php(시스템별 구성)이 업데이트되었더라도 소스 제어에 체크 인하지 마십시오.
이 절차의 뒷부분에서 프로덕션 시스템에 동일한 구성 설정을 만듭니다.

3단계: 빌드 시스템 업데이트 및 파일 생성

이제 공유 구성에 대한 변경 내용을 소스 제어에 커밋했으므로 이러한 변경 내용을 빌드 시스템으로 가져오고, 코드를 컴파일하고, 정적 파일을 생성할 수 있습니다.

빌드 시스템을 업데이트하려면:

  1. 빌드 시스템에 파일 시스템 소유자로 로그인합니다.

  2. 애플리케이션 루트 디렉토리로 변경합니다.

    code language-bash
    cd <Magento root dir>
    
  3. 소스 제어에서 app/etc/config.php에 대한 변경 내용을 가져옵니다.

    code language-bash
    git pull mconfig m2.2_deploy
    
  4. 코드를 컴파일합니다.

    code language-bash
    bin/magento setup:di:compile
    
  5. 코드가 컴파일되면 정적 보기 파일을 생성합니다.

    code language-bash
    bin/magento setup:static-content:deploy -f
    
  6. 소스 제어에 대한 변경 내용을 확인합니다.

    code language-bash
    git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
    

4단계: 프로덕션 시스템 업데이트

프로세스의 마지막 단계는 프로덕션 시스템을 업데이트하는 것입니다. 다음 두 부분으로 수행해야 합니다.

  • 중요 및 시스템별 설정 업데이트
  • 공유 설정 업데이트

중요 및 시스템별 설정 업데이트

환경 변수를 사용하여 중요한 및 시스템별 설정을 설정하려면 다음을 알고 있어야 합니다.

  • 각 설정에 대한 범위

    1단계의 지침을 따랐다면 전자 메일 보내기 ​의 범위는 웹 사이트이고 기본 전자 메일 도메인 ​의 범위는 전역(즉, 기본 구성 범위)입니다.

    전자 메일 보내기 구성 값을 설정하려면 웹 사이트 코드가 필요합니다.

    이 값을 찾는 방법에 대한 자세한 내용은 환경 변수를 사용하여 구성 설정을 재정의를 참조하십시오.

  • 이 예제에 사용된 설정에 대한 구성 경로:

    table 0-row-2 1-row-2 2-row-2
    설정 이름 구성 경로
    이메일 발송 대상 contact/email/recipient_email
    기본 이메일 도메인 customer/create_account/email_domain

    모든 중요 및 시스템별 구성 경로에 대해서는 중요 및 시스템별 구성 경로 참조를 참조하십시오.

CLI 명령을 사용하여 변수 설정

다음 CLI 명령을 사용하여 시스템별 및 중요한 구성 설정을 지정합니다.

  • 시스템별 설정에 대한 magento config:set
  • 중요 설정용 magento config:sensitive:set

기본 범위에 있는 시스템별 설정 기본 전자 메일 도메인 ​을(를) 설정하려면 다음 명령을 사용하십시오.

bin/magento config:set customer/create_account/email_domain <email domain>

이 범위는 기본 범위이므로 명령에서 사용할 필요가 없습니다.

그러나 전자 메일 보내기 ​에 대한 값을 설정하려면 범위 형식(website)과 범위 코드를 알아야 합니다. 범위 코드는 사이트마다 다를 수 있습니다.

예:

bin/magento config:sensitive:set contact/email/recipient_email --scope=website --scope-code=<website code> <email address>

공유 설정 업데이트

이 섹션에서는 개발 및 빌드 시스템의 모든 변경 사항을 프로덕션 환경으로 가져와서 공유 구성 설정(스토어 이름 및 VAT 번호)을 업데이트하는 방법에 대해 설명합니다.

프로덕션 시스템을 업데이트하려면:

  1. 운영 시스템에 파일 시스템 소유자로 로그인합니다.

  2. 애플리케이션 루트로 변경하고 유지 관리 모드를 활성화합니다.

    code language-bash
    cd <Magento root dir>
    
    code language-bash
    bin/magento maintenance:enable
    

    IP 주소 허용 목록 설정 기능과 같은 추가 옵션을 보려면 magento maintenance:enable을(를) 참조하십시오.

  3. 다음과 같이 app/etc/env.php에서 cron_run을(를) false(으)로 설정하여 실행 중인 큐 작업자를 중지합니다.

    code language-php?start_inline=1
    'cron_consumers_runner' => [
            'cron_run' => false
        ]
    
  4. 구성을 업데이트합니다.

    code language-bash
    bin/magento app:config:import
    
  5. 마지막으로 모든 활성 소비자 프로세스를 kill합니다.

    code language-bash
    kill <PID>
    

    여기서 PID은(는) 삭제할 프로세스 ID입니다. 예:

    code language-bash
    kill 1234
    
  6. 소스 제어에서 코드를 가져옵니다.

    code language-bash
    git pull mconfig m2.2_deploy
    
  7. 구성을 업데이트합니다.

    code language-bash
    bin/magento app:config:import
    
  8. 캐시를 정리합니다.

    code language-bash
    bin/magento cache:clean
    
  9. 유지 관리 모드를 종료합니다.

    code language-bash
    bin/magento maintenance:disable
    

관리에서 구성 설정 확인

구성 설정을 확인하려면:

  1. 프로덕션 시스템의 관리자에 로그인합니다.

  2. 스토어 > 설정 > 구성 > 일반 > 일반 ​을 클릭합니다.

  3. 왼쪽 상단의 스토어 보기 목록을 사용하여 다른 웹 사이트로 전환하십시오.

    개발 시스템에서 설정한 공유 구성 옵션은 다음과 유사하게 표시됩니다.

    프로덕션 시스템에서 설정을 확인

    note info
    INFO
    저장소 이름 필드는 웹 사이트 범위에서 편집할 수 있지만 기본 구성 범위로 전환하면 편집할 수 없습니다. 이는 개발 시스템에서 옵션을 설정하는 방법의 결과입니다. VAT 번호 ​의 값을 웹 사이트 범위에서 편집할 수 없습니다.
  4. 아직 수행하지 않았다면 기본 구성 범위로 전환합니다.

  5. 왼쪽 탐색의 일반 아래에서 연락처 ​를 클릭합니다.

    다음 그림과 같이 전자 메일 보내기 필드를 편집할 수 없습니다. 민감한 설정입니다.

    프로덕션 시스템에서 설정을 확인

  6. 왼쪽 창에서 고객 > 고객 구성 ​을 클릭합니다.

  7. 오른쪽 창에서 새 계정 옵션 만들기 ​를 확장합니다.

    기본 전자 메일 도메인 필드의 값은 다음과 같이 표시됩니다. 이는 시스템별 설정입니다.

    프로덕션 시스템에서 설정을 확인

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c