인프런 커뮤니티 질문&답변

문희준님의 프로필 이미지
문희준

작성한 질문수

Jenkins를 이용한 CI/CD Pipeline 구축

jenckins docker + python 연동 문의

작성

·

490

·

수정됨

0

젠킨슨 도커를 원도우 서버 위에 설치 했습니다.

설치 후 젠킨슨 도커와 연동하여 pytest 및 python를 사용하고 싶은 데

도커에 설치해야 하는 지 아니면 원도우 서버에 설치해도 되는 지 궁금해서 문의합니다.

 

해당 강의를 통해 jenckins + github + python selenium grid 연동 환경을 구성하려고 합니다.

원도우 서버에 jenckins _docker 설치 후 원도우 서버에 python 및 selenium 을 설치 했는 데 실행이 원활하지 않아 문의합니다.

 

 화면 캡처 2023-02-13 144238.png

 

 

답변 1

1

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

Jenkins + Python 조합으로 사용하신다고 하셨는데, Python을 Windows나 Docker 형태 어떤 방식으로 실행하셔도 상관은 없습니다. 핵심은, Jenkins에서 Windows나 Docker에 설치된 Python에 접근을 해서 필요한 작업을 할 수 있는지에 대한 부분이라고 생각됩니다. 올려주신 오류의 내용처럼 "Cannot run program cmd" 라는 메시지를 보면 Jenkins 서버(Docker로 기동된 Jenkins)에서 cmd라는 커맨드를 실행한 것처럼 보여집니다. 따라서 해당 명령어에 대해 "No such file or direcotry"라는 메시지가 발생된 것 같습니다. Jenkins에서 cmd를 통해 어떤 스크립트를 실행하려고 한다면, Docker로 기동 된 Jenkins는 리눅스 기반이기 때문에 sh 파일로 작성된 스크립트를 실행해야 하며, 스크립트 파일에서 실행하고자 하는 내용들이 Jenkins에서 사용될 수 있는 명령어이어야 합니다. 따라서, 이럴 경우에는 Jenkins에서 Python에 대한 코드를 Git에서 가져온 다음, 빌드 또는 패키징을 하고, Docker 이미지를 생성하면서, Docker이미지에서는 selenium과 같은 테스트 서비스를 같이 포함하여 작업하도록 하셔야 할 것 같습니다. 요약하면,

  1. Jenkins에서 Pyhton 코드 빌드, 패키징

  2. Docker이미지 생성 (with Python, Selenium etc)

  3. Docker 이미지로 컨테이너 생성하여 필요한 작업 실행

혹시 추가 설명이 필요하시면 다시 글 남겨 주세요.

감사합니다.

문희준님의 프로필 이미지
문희준
질문자

답변 고맙습니다.

Docker이 익숙하지 않다 보니 Docker 젠킨스 이미지와 원도우 서버에 파이썬이 서로 연결하는 방법을 모르고 있었네요.

TestOps 관련해서 환경을 구성하는 교육 과정이 있으면 좋겠습니다.

또한 Shell을 리눅스 커멘드 인데 원도우에서 실행을 했었어요.

문희준님의 프로필 이미지
문희준

작성한 질문수

질문하기