[Jenkins] Windows 자동화 배포 환경 구축하기(Error 해결편)

꾸안드·2023년 10월 18일
0

Jenkins를 활용해서 Windows Application 자동화 배포시 발생했던 문제점을 기록한 글입니다.

개발 환경

  1. azure내 windows vm이 설치되어 있고 jenkins에서 azsure start를 통해 동작하는 것으로 알고있음(서버 개발자)
  2. windows user 계정을 관리자 계정만 설정하고 그 이외의 유저는 설정하지 않음
  3. Mutibranch Pipeline으로 Jenkins 아이템을 설정하고 BitBucket Project 연결
  4. Windows VM내에 Visual Studio 설치(회사 계정을 사용)

사용한 Plugins

  1. Office 365 Connector(Teams Webhooks을 사용하기 위해)

발생한 오류 리스트

Windows VM

  1. VM 설치 시 영어로 설치하여 빌드 인코딩 문제가 발생함(파일을 찾을 수 없다고 나오면 대부분 이 오류였음)
  2. nuget관련 오류가 있으나, nuget을 설치후 환경변수로 설정하여 해결
  3. build.bat을 동작시킬 때 nuget restore을 요구하는 상황이 있어 배치 파일에 코드를 삽입해서 해결
  4. 인코딩 문제 -> chcp 65001을 지정하여 설정하니 오류 해결
  5. cpp라이브러리 문제가 있었는데 회사 내 개발자를 통해 bitbucket에 라이브러리도 포함하여 업로드 하는 방식으로 변경함
  6. windows script안에 timeout and cmd /k 키워드가 있었는데 Jenkins내에서 오류가 발생하여 이부분은 주석처리 하는것으로 변경(다른 해결 방법도 있으나 담당 개발자에게 문의한 결과 Jenkins용으로 따로 배치를 만들어주어 해결)

Jenkins Pipeline

  1. Jenkins pipeline에서 bat "whoami"를 했을 때와 windows vm내 cmd창에서 whoami 했을 때 user 정보가 다른 경우가 있어 build.bat이 동작하는 과정에서 문제가 있음.
    -> azure vm은 로그인을 따로 하는 설정이 없다고 함. 그래서 유저 이름이 다름
    -> 따라서 jenkins agent를 실행할 때 시작 스케쥴러에 등록하여 유저 이름을 매칭함

Process

Jenkins And Windows VM Process


문제가 있을 경우 언제든 연락주시면 수정하겠습니다.
profile
꾸준하게 안드로이드 개발

0개의 댓글