본문 바로가기

Study

[Jenkins] node 추가시에 known host 추가하는 방법 최근에 젠킨스에서 노드를 추가하는 방법을 알게 되었고 신세계를 만났습니다. 하나의 서버에 부하가 쏠리는 현상을 확실하게 막아주는 것을 알게 되었습니다. 단순히 랜덤하게 노드간의 load balancing을 해주는게 아니라 처리하는데 걸리는 시간을 피드백 받아서 적절하게 분산 처리해주는 것으로 판단됩니다. 실제로 어떤 노드에서 수행되는지 확인해보면 성능이 좋은 서버에 우선적으로 job이 할당되는 것을 알 수 있습니다. 여러 서버들을 골고루(?) 잘 활용하기 위해서는 job을 잘게 쪼개는 작업이 필요합니다. 하나의 큰 job을 여러개의 작은 job으로 쪼개서 여러 노드에서 병렬로 빌드가 이뤄져야 더 빨리 수행할 수 있기 때문입니다.극단적인 예를 들자면, 노드는 100개인데 job이 2개 뿐이라면 나머지 98.. 더보기
[라즈베리파이] Jenkins 설치하는 방법 라즈베리파이에 Jenkins를 설치하여 테스트 자동화 환경 구성 라즈베리파이로 할 수 있는 것들은 무궁무진합니다. 저의 경우는 회사에서 Test Automation에 라즈베리파이를 응용하고 있는데요. 라즈베리파이에 Jenkins를 설치하여 Git에 Pull Request 또는 Merge가 이뤄지는 시점에 서버에서 빌드된 패키지를 라즈베리파이로 자동으로 전송합니다. 라즈베리파이는 수신한 번들을 Target Device에 자동으로 다운로드한 후 테스트를 자동으로 수행하고 결과를 리포팅하도록 구성하였습니다. 라즈베리파이는 미니 컴퓨터이면서도 GPIO, PWM, I2C, SPI, UART 등의 I/O 채널들이 있기 때문에 Target Device의 Power Control, UART Control 등을 수행할 .. 더보기
라즈베리파이에 FTP 서버 설정 (proftpd inactive 문제 해결 방법) 오늘은 라즈베리파이에 FTP 서버를 설정하는 방법에 대해서 기록해두고자 합니다. 저는 Ubuntu Desktop 운영체제를 설치하여 사용하고 있는데요. x86 계열의 PC에 설치된 Ubuntu와 뭔가 조금씩 상이한 게 느껴집니다. 특히 proftpd를 라즈베리파이에 설치해봤는데 단순 설치만 했음에도 불구하고 service가 inactive 되는 생경한 경험을 하게 되었네요. 본 페이지에서 2가지 내용을 다룹니다. 라즈베리파이에 ftp 서버 설정 (proftpd) proftpd inactive 문제 해결 방법 라즈베리파이에 FTP 서버 설정하는 방법 $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install proftpd 라즈베리파이에 FTP .. 더보기
[Bash Shell] set -e 옵션과 set -x 옵션 사용 방법 (명령 실패시 스크립트 자동 종료시키는 방법) Ubuntu Linux의 세계에 입문한 이후에 Bash Shell의 강력함에 압도당했고 매료당했다. Windows Shell 보다 문법이 훨씬 더 깔끔하고 직관적이기 때문이다. Bash Script로 무언가를 구현하라고 한다면 큰 어려움 없이 할 수 있겠다. 하지만 Windows Shell로 뭔가를 구현하려고 하면 막막하기 그지없다. Bash Shell Script가 Windows Batch File보다 훨씬 훌륭하지만, Bash Shell 역시도 처음에 문법을 익히는데 다소 시간이 든다. 구글링과 수많은 시행착오를 거치면 어느 정도 수준까지는 큰 어려움 없이 Bash Shell Script를 작성할 수 있다. (물론 아주 복잡한 연산이나 대량의 데이터를 취급해야 할 경우는 C로 작성하는 게 바람직하다... 더보기
[라즈베리파이] Your Computer Clock Is Wrong 해결 방법 Your Computer Clock is Wrong 라즈베리파이 공부를 시작한지도 몇개월이 지났네요. 아주 작고도 저가의 컴퓨터로 인터넷도하고 파이선 공부도 할 수 있어서 참 마음에 듭니다. 어느날 Ubuntu Desktop OS를 설치하고 FireFox로 인터넷에 접속하려는 순간 위와 같은 메시지가 발생하는 것입니다. "Your Computer Clock is Wrong"이라는 메시지였는데, 실제로 살펴보니 날짜가 약 3개월 전으로 되어 있는 것입니다. 그렇습니다! 라즈베리파이에는 RTC 값을 유지시켜줄 배터리가 없었던 것입니다. RTC의 기능은 크게 2가지라고 생각하시면 되겠습니다. 하나는 시간값을 저장하는 기능이고, 나머지 하나를 시간을 증가시키는 기능입니다. 라즈베리파이의 RTC는 시간 저장 기능.. 더보기
윈도우즈에서 python 설치 및 명령창에서 python 실행 방법 [Linux에서 python 설치 방법] 리눅스에서 python을 설치하는 방법은 아주 쉽습니다. 쉘에서 sudo apt-get install python3 명령을 입력하면 python 패키지가 자동으로 실행됩니다. $ sudo apt-get install python3 위와 같이 패키지를 설치하고 나면 쉘에서 python 스크립트를 수행할 수 있습니다. $ python3 abc.py [Windows에서 python 설치 방법] 반면, Windows에서는 http://www.python.org/downloads 경로로 접속해서 다운로드 후 설치해야 합니다. 관리자 권한을 이용하여 설치합니다. 설치를 마치고 재부팅을 한 다음 쉘에서 python, python3 등을 입력해보았지만 실행이 안 됩니다. dir.. 더보기
[VMware] Ubuntu HDD 파티션 용량 늘리는 방법 (Low Disk Space on Filesystem root) VMware에 Ubuntu를 깔아서 개발하는 개발자들이 많이 있을껍니다. 처음에 VMware에 Ubuntu 이미지를 생성했을때 HDD 용량을 가변적으로 잡아줬더니 이미지의 용량이 200GB를 훌쩍 초과하더군요. 그래서 이번에는 HDD 용량을 20GB로 정해줬더니, HDD 용량이 금새 부족하게 되는 문제가 발생하였습니다. 저처럼 고정 용량으로 Ubuntu 이미지를 사용하시는 분들을 위해 HDD 파티션 용량을 늘리는 방법에 대해서 기록하고자 합니다. [문제의 상황 - Low Disk Space] 문제의 상황에서는 HDD 용량을 모두 사용하여, 컴파일이나 빌드시에 에러가 발생했습니다. 또한 Ubuntu Desktop 상단에 "Low Disk Space on "Filesystem root" 라는 메시지가 발생합.. 더보기
[Microsoft Teams] 화상회의중 스피커와 마이크 변경하는 방법 업무상 Note PC를 이용해서 화상회의를 많이 하는 중입니다. 요즘 더욱이 재택근무와 사회적 거리두기로 화상회의 프로그램을 더 많이 사용하게 되는 것 같은데요. 개인적으로는 Microsoft Teams 보다는 Zoom이 더 사용하기 편리한 것 같습니다. (빌 게이츠 님 죄송!) Note PC의 경우 내장 스피커와 마이크도 있고, 헤드셋을 장착하는 경우도 있습니다. 가끔은 화상회의 내용을 헤드셋으로 듣고 싶기도 하고, 헤드셋이 불편할 때는 내장 스피커로 듣고 싶을 때도 있습니다. 혹은 헤드셋이 먹통이 되어서 긴급하게 내장 마이크로 바꿔야 될 때도 있습니다. 본 페이지에서는 여러 종류의 음성 출력 장치가 존재하는 경우 출력 장치를 변경하는 방법에 대해서 설명드리고자 합니다. 1. 화상회의 메뉴에서 장치 설.. 더보기