검색결과 리스트
글
LANGUAGE/!$%!% ERROR NOTE
2017. 11. 22. 00:01
Gitlab (깃랩)
Gitlab Runner (깃랩 러너)
.gitlab-ci.yml에 적은 내용대로 잘 실행해주면 좋겠는데...
아규먼트(arguments), 인자가 무시되어버리는 현상을 발견했다.
1. Error (에러)
인자 값이 안들어간 것을 확인했다.
1차적으로 script: 에 적어 놓은 커맨드는 잘 되는데
내가 만든 자바로된 어플리케이션을 거쳐서 인자와 함께 다른 쉘스크립트를 실행할때 인자를 잃어버린다.
어플리케이션의 문제가 있는 줄 알았는데, 내 로컬 터미널에서 사용할 때는 잘된다.
버그 같다.
검색해봤더니 등록된 이슈가 있었다. 나의 사례도 살포시 적었다. ㅎㅎㅎ
https://gitlab.com/gitlab-org/gitlab-runner/issues/2826#note48036705
2.. 환경
- GitLab Community Edition 10.1.3 e6142bc
- Running with gitlab-ci-multi-runner 9.4.2 (6d06f2e)
3. 발생 시점
- (gitlab runner)이 (java application) 을 실행
- (java application)이 (shell script file)을 실행
- (shell script file)안에서 인자가 무시됨
4. 상세
- .gitlab-ci.yml
(인자 통과됨)
installer-maker:
script:
- installer-maker test -rsp=./installer-data/test-ci.rsp -mode.sql.progress.bar=false -log.level.console=debug
- java application(installer-maker) execute shell script(installer) like below
(인자 무시됨)
sh -c /builds/gitlab/dg/metastream3/build/installer_myproject/bin/installer ask install -response.file.path=./installer-data/test-ci.rsp -mode.sql.progress.bar=false -log.level.console=debug -mode.exec.self=true
- shell script file(installer)
echo "$@"
쉘스크립트 파일에 위처럼 인자들이 포함되어 있는지 출력했을 때, 비어있는 것을 확인 할 수 있었다.
아래 인자들이 무시되었다.
ask
install
-response.file.path=./installer-data/test-ci.rsp
-mode.sql.progress.bar=false
-log.level.console=debug
-mode.exec.self=true
5. Problem (문제)
버그?
6. Solved (해결)
우회해서 할 수 있는 방법이 있다면, 우선 우회하자.
7. Reference (참고)
- GitLab CI command argument of services are ignored: https://gitlab.com/gitlab-org/gitlab-runner/issues/2826