dnsmasq를 사용하여 GitLab Pages 서브도메인을 동적으로 처리하기
GitLab v19.4요약
dnsmasq를 사용하면 각 사이트를 /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