unit-test code를 작성하다 필요에 의해 String::Random
모듈을 추가하게 되었다.
나의 local에서는 cpanm String::Random
으로 간편히 추가하고 test를 진행할 수 있었으나,
remote repository로 push 후 Gitlab의 CI/CD를 확인 해 보니 failure가 나왔다.
이유는 당연하게도 내 local에는 module이 설치되었으나, test하는 server에서는 해당 모듈이 설치되지 않았으므로 경로를 찾을 수 없다는 message가 출력된다.
dependency를 관리하는 file을 수정해야 한다.
해결 방법.
GMS/.Jenkinsfile
에 해당 모듈 작성. (cpan이 아닌 perl로 설치해야 하기 때문에perl-String-Random
이런식으로 적어준다.)GMS/.gitlab-ci.yml
파일에 해당 모듈 작성. (마찬가지로perl-String-Random
이런식으로 추가해줌.)- 최종적으로 권연구원님께 말씀드려 해당 모듈을 server에 설치할 수 있도록 한다.
이후 정상적으로 CI/CD pipeline 통과.
- 참고사항 : 보통 CentOS-Base 에 기본적인 건 들어가 있음.
.gitlab-ci.yml
파일 상단에 before_script 부분에[base] name=CentOS-$releasever - Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra baseurl=http://mirror.kakao.com/centos/$releasever/os/$basearch/ gpgcheck=0 enabled=0
를 추가하면 CI 돌아가는 건 확인가능!
다만 해당 rpm이 들어가는게 fix되었는데,
abs.gluesys.com에 없으면 직접 추가해야되서, merge 된 이후 해당 list를 공유해야 한다!!