-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TEST: Use a docker image #694
Conversation
CI 테스트의 build 시간을 단축하는 다른 방안이 있을 것 같은 데, 그 방안을 선택하지 않은 이유는 무엇인가요? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
리뷰 완료
t/issue_67.t
Outdated
@@ -38,7 +38,7 @@ sub validate_port { | |||
sub run_server { | |||
my ($args) = @_; | |||
|
|||
$args .= " -E $builddir/.libs/default_engine.so"; | |||
$args .= " -E $builddir/.libs/default_engine.so -u root"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기 변경은 왜 필요한가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 부분은 수정되었습니다.
docker run을 통해 컨테이너를 실행할 경우 root로 실행됩니다.
해당 경우에서 memcached를 구동 시 -u root 옵션을 주어야 하나
67번 테스트의 경우 구동에 대하여 생성된 port 파일을 확인하는 테스트로
서버를 구동할 때에 run_server
함수를 통해 구동되며, 이때에
default_engine 이외에 인자를 주고 있지 않습니다.
다른 테스트(MemcachedTest.pm의 new_memcached
함수)는
userid 검사를 통해 자동으로 -u 옵션을 주고 있습니다.
@ing-eoking |
이전에 CI 테스트의 build 시간 단축을 위해 시도했던 방안은 아래와 같습니다.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
모든 빌드 및 테스트 과정이 docker 환경에서 동작하는 것에 대해 조금 회의적이기는 합니다.
아래와 같은 환경에서 docker를 사용하는 것은 유용할 것으로 생각합니다.
- master에 릴리즈가 되거나 develop에 PR이 merge 되었을 때, 자동으로 jam2in docker hub에 push
- 클라이언트 테스트를 위해, 캐시 서버를 docker container로 구동
- name: Set Docker Buildx | ||
uses: docker/[email protected] | ||
- name: Build Arcus Server Image | ||
uses: docker/[email protected] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
buildx는 multi-platform build를 위함인가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 부분은 캐싱을 위함입니다.
현재 올린 CI 테스트는 드라이버가 docker가 아닌 buildkit docker container에서 빌드가 이루어집니다.
단순 docker의 경우 Caching 경로 지정이 불가하여 GitHub Action에서 활용이 불가능합니다.
해당 PR은 종료.
위의 이슈를 마치고, 이후에 CI 테스트 빌드 최적화를 진행하겠습니다. |
CI 테스트를 도커를 활용하여 build 시간을 단축시킵니다.
Dockerfile을 통한 테스트 진행을 위해 2개의 기존 파일을 변경했습니다.