dnsmasq를 사용하여 GitLab Pages 서브도메인을 동적으로 처리하기
GitLab v19.1dnsmasq를 사용하면 각 사이트를 /etc/hosts에 개별적으로 설정하지 않고도 GitLab Pages 사이트를 로컬에서 테스트할 수 있습니다. macOS에서 dnsmasq를 사용하려면: 이제 동적 도메인을 사용하여 GitLab Pages 사이트를 로컬에서 생성할 수 있습니다.
dnsmasq를 사용하면 각 사이트를 /etc/hosts에 개별적으로 설정하지 않고도 GitLab Pages 사이트를 로컬에서 테스트할 수 있습니다.
macOS에서 dnsmasq 사용하기#
macOS에서 dnsmasq를 사용하려면:
dnsmasq를 설치합니다:
brew install dnsmasq
*.test도메인 조회를 설정합니다:
# Ensure the configuration directory exists
mkdir -p $(brew --prefix)/etc/
# Add `*.test` to the `127.0.0.1` lookup
echo 'address=/.test/127.0.0.1' >> $(brew --prefix)/etc/dnsmasq.conf
# Start `dnsmasq`
sudo brew services start dnsmasq
- DNS 리졸버를 생성합니다:
# Ensure the resolver directory exists
sudo mkdir -p /etc/resolver
# Add the localhost address as a resolver for `.test` domains
echo "nameserver 127.0.0.1" | sudo tee /etc/resolver/test
이제 동적 도메인을 사용하여 GitLab Pages 사이트를 로컬에서 생성할 수 있습니다.
GitLab Pages를 설정하고
root/html 프로젝트를 생성하면, 해당 프로젝트는 http://root.gdk.pages.test:3010/html을 통해 접근할 수 있습니다.
트러블슈팅#
GitLab Runner를 사용하는 경우, /etc/hosts에 gdk.test를 정의해야 합니다.
GitLab Runner를 로컬에서 사용하고 있다면 /etc/hosts도 함께 설정해야 합니다:
# Append GDK configuration in `/etc/hosts`
cat <<-EOF | sudo tee -a /etc/hosts
## GDK
127.0.0.1 gdk.test
::1 gdk.test
# ----------------------------
EOF