InfoGrab Docs

서비스

서비스에 대해 설명합니다.

CI/CD를 구성할 때, 잡이 실행되는 컨테이너를 만드는 데 사용되는 이미지를 지정합니다. 이 이미지를 지정하려면 image 키워드를 사용합니다. services 키워드를 사용하여 추가 이미지를 지정할 수 있습니다. 이 추가 이미지는 첫 번째 컨테이너에서 사용할 수 있는 또 다른 컨테이너를 만드는 데 사용됩니다. 두 컨테이너는 서로 접근할 수 있으며 잡 실행 중에 통신할 수 있습니다. 서비스 이미지는 어떤 애플리케이션이든 실행할 수 있지만, 가장 일반적인 사용 사례는 다음과 같이 데이터베이스 컨테이너를 실행하는 것입니다: MySQL PostgreSQL Redis JSON API를 제공하는 마이크로서비스 예제로서의 GitLab Note 서비스 간 네트워킹을 활성화하려면 FF_NETWORK_PER_BUILD 를 true 로 설정하세요. 이 플래그 없이는 서비스가 제대로 작동하지 않을 수 있습니다. 자세한 내용은 기능 플래그 를 참조하세요. 저장소에 데이터베이스를 사용하는 콘텐츠 관리 시스템을 개발하고 있다고 생각해보세요. 애플리케이션의 모든 기능을 테스트하려면 데이터베이스가 필요합니다. 이런 시나리오에서 데이터베이스 컨테이너를 서비스 이미지로 실행하는 것이 좋은 사용 사례입니다. 프로젝트를 빌드할 때마다 mysql 을 설치하는 대신 기존 이미지를 사용하여 추가 컨테이너로 실행하세요. 데이터베이스 서비스에만 제한되지 않습니다. .gitlab-ci.yml 에 필요한 만큼 서비스를 추가하거나 config.toml 을 수동으로 수정할 수 있습니다. Docker Hub 또는 개인 컨테이너 레지스트리에서 찾을 수 있는 모든 이미지를 서비스로 사용할 수 있습니다. 개인 이미지 사용에 대한 자세한 내용은 개인 컨테이너 레지스트리에서 이미지 접근 을 참조하세요. 서비스는 CI 컨테이너와 동일한 DNS 서버, 검색 도메인 및 추가 호스트를 상속합니다. 서비스가 잡에 연결되는 방법 # 컨테이너 연결 방법을 더 잘 이해하려면 컨테이너 함께 연결하기 를 읽어보세요. 애플리케이션에 mysql 을 서비스로 추가하면 해당 이미지가 잡 컨테이너에 연결된 컨테이너를 만드는 데 사용됩니다. MySQL의 서비스 컨테이너는 호스트 이름 mysql 로 접근할 수 있습니다. 데이터베이스 서비스에 접근하려면 소켓 또는 localhost 대신 mysql 이라는 호스트에 연결하세요. 서비스 접근 에서 더 읽어보세요. 서비스 헬스 체크 방법 # 서비스는 네트워크 접근 가능한 추가 기능을 제공하도록 설계되었습니다. MySQL 또는 Redis 같은 데이터베이스일 수도 있고, Docker-in-Docker(DinD)를 사용할 수 있게 해주는 docker:dind 일 수도 있습니다. CI/CD 잡 진행에 필요한 거의 모든 것이 될 수 있으며, 네트워크를 통해 접근합니다. 이 작업이 제대로 동작하도록 러너는: 기본적으로 컨테이너에서 노출되는 포트를 확인합니다. 이러한 포트에 접근할 수 있을 때까지 대기하는 특수 컨테이너를 시작합니다. 검사의 두 번째 단계가 실패하면 경고를 출력합니다: *** WA