CLI 명령 사용 예
이 예에서는 개발 시스템에서 공유, 시스템별 및 중요 값을 설정한 다음 해당 값을 프로덕션 시스템에 배포하는 방법을 보여 줍니다.
이 작업은 공유 구성, config.php
파일 및 Commerce CLI 명령의 조합을 사용하여 수행됩니다.
이 예에서는 다음 구성 설정을 사용합니다.
-
공유 구성 설정에 대한 Vat 번호 및 저장소 이름.
이러한 속성은 스토어 > 설정 > 구성 > 일반 > 일반 에서 찾을 수 있습니다.
-
중요한 구성 값에 대해 전자 메일을 에게 보냅니다.
이는 스토어 > 설정 > 구성 > 일반 > 연락처 에서 찾을 수 있습니다.
-
시스템별 구성 값에 대한 기본 전자 메일 도메인.
이는 스토어 > 설정 > 구성 > 고객 > 고객 구성 > 새 계정 옵션 만들기 에서 찾을 수 있습니다.
이 예제와 동일한 절차를 사용하여 다음 참조에서 설정을 구성할 수 있습니다.
시작하기 전에
시작하기 전에 개발, 빌드 및 프로덕션 시스템에 대한 필수 구성 요소에 설명된 대로 파일 시스템 권한 및 소유권을 설정합니다.
가정
이 항목에서는 프로덕션 시스템 구성을 수정하는 예를 제공합니다. 원하는 경우 다른 구성 옵션을 선택할 수 있습니다.
이 예에서는 다음과 같이 가정합니다.
- Git 소스 제어 사용
- 개발 시스템은 이름이
mconfig
인 Git 원격 리포지토리에서 사용할 수 있습니다 - Git 작업 분기 이름은
m2.2_deploy
입니다.
1단계: 개발 시스템에서 구성 설정
개발 시스템에서 기본 로케일과 가중치 단위를 설정하려면 다음을 수행합니다.
-
관리자에 로그인합니다.
-
스토어 > 설정 > 구성 > 일반 > 일반 을 클릭합니다.
-
사용 가능한 웹 사이트가 두 개 이상 있는 경우 다음 그림과 같이 왼쪽 상단의 스토어 보기 목록을 사용하여 다른 웹 사이트로 전환하십시오.
-
오른쪽 창에서 정보 저장 을 확장합니다.
-
필요한 경우 VAT 번호 및 저장소 이름 필드 옆에 있는 기본 사용 확인란의 선택을 취소하십시오.
-
필드에 숫자를 입력합니다(예:
12345
). -
저장소 이름 필드에 값(예:
My Store
)을 입력하십시오. -
구성 저장 을 클릭합니다.
-
왼쪽 탐색의 일반 아래에서 연락처 를 클릭합니다.
-
오른쪽 창에서 전자 메일 옵션 을 확장합니다.
-
필요한 경우 전자 메일 보내기 필드 옆에 있는 기본값 사용 확인란의 선택을 취소하십시오.
-
필드에 전자 메일 주소를 입력합니다.
-
구성 저장 을 클릭합니다.
-
다음 그림과 같이 보기 저장 목록을 사용하여 기본 구성 을 선택하십시오.
-
왼쪽 창에서 고객 > 고객 구성 을 클릭합니다.
-
오른쪽 창에서 새 계정 옵션 만들기 를 확장합니다.
-
필요한 경우 기본 전자 메일 도메인 필드 옆에 있는 시스템 값 사용 확인란의 선택을 취소하십시오.
-
필드에 도메인 이름을 입력합니다.
-
구성 저장 을 클릭합니다.
-
메시지가 표시되면 캐시를 플러시합니다.
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
-
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
디렉터리에 대한 변경 내용을 소스 제어에 제출하지 마십시오. 빌드 시스템에서 이러한 파일을 생성합니다. 개발 시스템에는 프로덕션 시스템에서 사용할 준비가 되지 않은 코드, 테마 등이 있을 수 있습니다. -
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단계: 빌드 시스템 업데이트 및 파일 생성
이제 공유 구성에 대한 변경 내용을 소스 제어에 커밋했으므로 이러한 변경 내용을 빌드 시스템으로 가져오고, 코드를 컴파일하고, 정적 파일을 생성할 수 있습니다.
빌드 시스템을 업데이트하려면:
-
빌드 시스템에 파일 시스템 소유자로 로그인합니다.
-
애플리케이션 루트 디렉토리로 변경합니다.
code language-bash cd <Magento root dir>
-
소스 제어에서
app/etc/config.php
에 대한 변경 내용을 가져옵니다.code language-bash git pull mconfig m2.2_deploy
-
코드를 컴파일합니다.
code language-bash bin/magento setup:di:compile
-
코드가 컴파일되면 정적 보기 파일을 생성합니다.
code language-bash bin/magento setup:static-content:deploy -f
-
소스 제어에 대한 변경 내용을 확인합니다.
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 번호)을 업데이트하는 방법에 대해 설명합니다.
프로덕션 시스템을 업데이트하려면:
-
운영 시스템에 파일 시스템 소유자로 로그인합니다.
-
애플리케이션 루트로 변경하고 유지 관리 모드를 활성화합니다.
code language-bash cd <Magento root dir>
code language-bash bin/magento maintenance:enable
IP 주소 허용 목록 설정 기능과 같은 추가 옵션을 보려면
magento maintenance:enable
을(를) 참조하십시오. -
다음과 같이
app/etc/env.php
에서cron_run
을(를)false
(으)로 설정하여 실행 중인 큐 작업자를 중지합니다.code language-php?start_inline=1 'cron_consumers_runner' => [ 'cron_run' => false ]
-
구성을 업데이트합니다.
code language-bash bin/magento app:config:import
-
마지막으로 모든 활성 소비자 프로세스를
kill
합니다.code language-bash kill <PID>
여기서
PID
은(는) 삭제할 프로세스 ID입니다. 예:code language-bash kill 1234
-
소스 제어에서 코드를 가져옵니다.
code language-bash git pull mconfig m2.2_deploy
-
구성을 업데이트합니다.
code language-bash bin/magento app:config:import
-
캐시를 정리합니다.
code language-bash bin/magento cache:clean
-
유지 관리 모드를 종료합니다.
code language-bash bin/magento maintenance:disable
관리에서 구성 설정 확인
구성 설정을 확인하려면:
-
프로덕션 시스템의 관리자에 로그인합니다.
-
스토어 > 설정 > 구성 > 일반 > 일반 을 클릭합니다.
-
왼쪽 상단의 스토어 보기 목록을 사용하여 다른 웹 사이트로 전환하십시오.
개발 시스템에서 설정한 공유 구성 옵션은 다음과 유사하게 표시됩니다.
note info INFO 저장소 이름 필드는 웹 사이트 범위에서 편집할 수 있지만 기본 구성 범위로 전환하면 편집할 수 없습니다. 이는 개발 시스템에서 옵션을 설정하는 방법의 결과입니다. VAT 번호 의 값을 웹 사이트 범위에서 편집할 수 없습니다. -
아직 수행하지 않았다면 기본 구성 범위로 전환합니다.
-
왼쪽 탐색의 일반 아래에서 연락처 를 클릭합니다.
다음 그림과 같이 전자 메일 보내기 필드를 편집할 수 없습니다. 민감한 설정입니다.
-
왼쪽 창에서 고객 > 고객 구성 을 클릭합니다.
-
오른쪽 창에서 새 계정 옵션 만들기 를 확장합니다.
기본 전자 메일 도메인 필드의 값은 다음과 같이 표시됩니다. 이는 시스템별 설정입니다.