티스토리 뷰

발생일: 2014.11.20

키워드: bat, 윈도우 배치 파일, wget, curl, windows, host, 호스트

문제:
우리 팀은 윈도우 OS에 대한 브라우저 테스트를 할 때 VDI를 사용한다.
여러 가지 이유로, VDI는 개발자가 인스턴스를 생성할 때마다 초기화되는데, 늘 아래 작업을 반복한다.

1. 내 개발 PC의 IP를 찾는다.
2. VDI에서 hosts 파일을 찾아 연다.
3. 개발 대상 서비스 주소와 IP를 호스트 파일에 추가한다. (예: my-service.com 192.168.123.123)
4. IE를 열어서 my-service.com 을 입력한다.


아… 귀찮다…
자동화할 수 있는 방법이 있을까?


해결책:
리눅스였으면, 어딘가 쉘 파일을 올려두고 wget 이나 curl로 다운로드 받아서 실행하면 될 것 같다.

검색, 검색, 테스트 후에 잘 동작하는 스크립트를 만들어냈고, 아래와 같이 사용하도록 했다.

  1. 특정 경로에 접근하면, 사용자 IP를 받아서 VDI에서 바로 실행할 수 있는 명령을 출력한다.
  2. 해당 명령을 복사해서, VDI의 실행창에 붙여넣어 실행하면,
  3. 특정 경로에 있는 배치 파일을 다운로드 받아서 실행한다.
  4. 배치 파일은 사용자 아이피와 테스트 서버 주소를 호스트 파일에 추가한 후에, 해당 주소로 IE를 실행한다.


가장 문제가 됐던 건, 별다른 도구 없이 특정 경로에 있는 배치 파일을 다운로드 받은 후에 실행하는 거였다.
윈도우에서 특별한 도구 설치 없이 특정 파일을 다운로드 받으려면 아래 명령을 사용하면 된다.

    bitsadmin.exe /transfer “[명령이름]” [다운로드 주소] [저장할 파일명]

    예: bitsadmin.exe /transfer \"SetVdi\” http://test-service.com/setvdi.bat C:\setvdi.bat


다운로드와 동시에 실행하기 위해선 아래처럼 `cmd /c “명령”`을 사용해야 한다.

    cmd /c "bitsadmin.exe /transfer \"SetVdi\” http://test-service.com/setvdi.bat C:\setvdi.bat && C:\setvdi.bat 192.168.123.123”



반응형
댓글
공지사항