공유 구성 사용 예
- 주제:
- 구성
작성 대상:
- 경험
- 관리자
- 개발자
이 예제에서는 개발 시스템에서 다음 설정을 변경하고 빌드 시스템에서 공유 구성 파일 config.php
을(를) 업데이트하며 프로덕션 시스템에서 동일한 설정을 구현하는 방법을 보여 줍니다.
- 시간대
- 가중치 단위
이러한 설정은 스토어 > 설정 > 구성 > 일반 > 일반 의 관리자에서 사용할 수 있습니다.
동일한 절차를 사용하여 다음 참조에서 민감하지 않고 시스템별로 지정되지 않은 설정을 구성할 수 있습니다.
시작하기 전에
시작하기 전에 개발, 빌드 및 프로덕션 시스템의 필수 구성 요소에 설명된 대로 파일 시스템 권한 및 소유권을 설정합니다.
가정
이 항목에서는 프로덕션 시스템 구성을 수정하는 예를 제공합니다. 원하는 경우 다른 구성 옵션을 선택할 수 있습니다.
이 예에서는 다음과 같이 가정합니다.
- Git 소스 제어 사용
- 개발 시스템은 이름이
mconfig
인 Git 원격 리포지토리에서 사용할 수 있습니다 - Git 작업 분기 이름은
m2.2_deploy
입니다.
1단계: 개발 시스템에서 구성 설정
개발 시스템에서 표준 시간대 및 가중치 단위를 설정하려면 다음을 수행합니다.
-
관리자에 로그인합니다.
-
스토어 > 설정 > 구성 > 일반 > 일반 을 클릭합니다.
-
오른쪽 창에서 로케일 옵션 을 확장합니다.
다음 그림은 예를 보여 줍니다.
-
시간대 목록에서 GMT+00:00(UTC) 을(를) 클릭합니다.
-
가중치 단위 필드 옆에 있는 시스템 값 사용 확인란의 선택을 취소하십시오.
-
체중 단위 목록에서 kgs 을 클릭합니다.
-
구성 저장 을 클릭합니다.
-
메시지가 표시되면 캐시를 플러시합니다.
2단계: 공유 구성 업데이트
이 섹션에서 설명한 대로 개발 시스템에서 공유 구성 파일 app/etc/config.php
을(를) 생성한 다음 소스 제어를 사용하여 빌드 시스템으로 전송합니다.
구성을 업데이트하려면:
-
개발 시스템에 파일 시스템 소유자로 로그인하거나 파일 시스템 소유자로 전환합니다.
-
애플리케이션 루트로 변경하고 dump 명령을 실행합니다.
cd <Magento root dir> php bin/magento app:config:dump
예를 들어 Commerce이
/var/www/html/magento2
에 설치되어 있으면 다음을 입력하십시오.cd /var/www/html/magento2 php bin/magento app:config:dump
-
app/etc/config.php
이(가) 업데이트되었는지 확인합니다.git status
샘플 응답:
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
WARNING
generated
,pub/media
또는pub/static
디렉터리에 대한 변경 내용을 소스 제어에 제출하지 마십시오. 빌드 시스템에서 이러한 파일을 생성합니다. 개발 시스템에는 프로덕션 시스템에서 사용할 준비가 되지 않은 코드, 테마 등이 있을 수 있습니다. -
app/etc/config.php
에 대한 변경 내용을 소스 제어에만 체크 인합니다.git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
3단계: 빌드 시스템 업데이트 및 파일 생성
이제 공유 구성에 대한 변경 내용을 소스 제어에 커밋했으므로 빌드 시스템에서 이러한 변경 내용을 가져오고, 코드를 컴파일하고, 정적 파일을 생성할 수 있습니다. 마지막 단계는 이러한 변경 사항을 프로덕션 시스템으로 가져오는 것입니다. 따라서 프로덕션 시스템의 구성은 개발 시스템과 일치합니다.
빌드 시스템을 업데이트하려면:
-
빌드 시스템에 파일 시스템 소유자로 로그인합니다.
-
애플리케이션 루트 디렉토리로 변경합니다.
cd <Magento root dir>
-
소스 제어에서
app/etc/config.php
에 대한 변경 내용을 가져옵니다.git pull mconfig m2.2_deploy
-
코드를 컴파일합니다.
bin/magento setup:di:compile
-
코드가 컴파일되면 정적 보기 파일을 생성합니다.
bin/magento setup:static-content:deploy -f
-
소스 제어에 대한 변경 내용을 확인합니다.
git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
4단계: 프로덕션 시스템 업데이트
프로세스의 마지막 단계는 소스 제어에서 프로덕션 시스템을 업데이트하는 것입니다. 이렇게 하면 개발 및 빌드 시스템에서 변경한 모든 사항이 적용되므로 프로덕션 시스템이 완전히 최신 상태가 됩니다.
프로덕션 시스템을 업데이트하려면:
-
운영 시스템에 파일 시스템 소유자로 로그인합니다.
-
애플리케이션 루트로 변경하고 유지 관리 모드를 활성화합니다.
cd <Magento root dir>
bin/magento maintenance:enable
IP 주소 허용 목록 설정 기능과 같은 추가 옵션을 보려면
magento maintenance:enable
을(를) 참조하십시오. -
다음과 같이
app/etc/env.php
에서cron_run
을(를)false
(으)로 설정하여 실행 중인 큐 작업자를 중지합니다.'cron_consumers_runner' => [ 'cron_run' => false ]
-
구성을 업데이트합니다.
bin/magento app:config:import
-
마지막으로 모든 활성 소비자 프로세스를
kill
합니다.kill <PID>
여기서
PID
은(는) 삭제할 프로세스 ID입니다. 예:kill 1234
-
소스 제어에서 코드를 가져옵니다.
git pull mconfig m2.2_deploy
-
구성을 업데이트합니다.
bin/magento app:config:import
-
캐시를 정리합니다.
bin/magento cache:clean
-
유지 관리 모드를 종료합니다.
bin/magento maintenance:disable
관리자의 변경 사항 확인
이 설정을 관리자에서 편집할 수 없는지 확인하려면:
-
관리자에 로그인합니다.
-
스토어 > 설정 > 구성 > 일반 > 일반 을 클릭합니다.
-
오른쪽 창에서 로케일 옵션 을 확장합니다.
방금 설정한 옵션은 다음과 같이 표시됩니다.
magento config:set --lock
명령을 사용하십시오.