>백엔드 개발 >Golang >Azure Devops 파이프라인을 사용한 Golang 테스트 컨테이너: 컨테이너가 무작위로 종료됩니까?

Azure Devops 파이프라인을 사용한 Golang 테스트 컨테이너: 컨테이너가 무작위로 종료됩니까?

WBOY
WBOY앞으로
2024-02-05 21:54:071026검색

Golang 测试容器与 Azure Devops 管道:容器被随机杀死?

질문 내용

golang 테스트 컨테이너를 사용하여 데이터베이스 통합 테스트를 구현하고 실행하는 동안 로컬에서 완벽하게 작동하지만 테스트가 Azure DevOps 파이프라인에서 무작위로 작동하지 않는 것 같습니다.

파이프라인 로그 표시:

으아아아

컨테이너 로깅 추가, 대기 기준 개선, db 컨테이너 구성 파일 사용 제거(파일을 컨테이너에 복사할 필요가 없도록) 및 ryuk 비활성화 후 추가로 수행해야 할 작업이 무엇인지 궁금합니다. 또는 컨테이너를 올바르게 초기화하지 않은 경우.

각 단위 테스트마다 테스트 컨테이너는 다음과 같이 시작됩니다.

으아아아

...repository 创建存储库,err := new(ctx)를 사용하고 마지막으로 마이그레이션하여 프로덕션 데이터베이스와 유사한 데이터베이스를 설정하고 데이터베이스 연결 및 처리 등에 gorm을 사용합니다.

단위 테스트의 기본 템플릿은 다음과 같습니다.

으아아아

Azure 파이프라인의 경우 재고 Azure 에이전트 풀을 사용하고 Go 버전은 "1.18.0 x64"입니다.

어떤 조언이라도 대단히 감사하겠습니다. 미리 감사드립니다.


정답


만족스럽지 못한 해결책으로 컨테이너를 생성한 후 데이터베이스 연결을 설정하기 전에 5초의 절전 모드를 추가했습니다.

단일 컨테이너 내에서 실행되는 경우에도 단위 테스트가 무작위로 실패하는 것을 볼 수 있으므로 이는 Azure DevOps 관련 문제일 수 있습니다.

이를 응답으로 받아들이는 것도 커뮤니티의 과제입니다...

위 내용은 Azure Devops 파이프라인을 사용한 Golang 테스트 컨테이너: 컨테이너가 무작위로 종료됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제