2015년 4월 9일 목요일

오랜만에 맥 OS로 부팅을

언제가 마지막이었는지 기억도 안난다. 오랜만에 맥 OS로 부팅.

그런데, 부팅하다가 복구 화면으로 넘어간다. 뭐지. 다시 부팅을 해봐도 당연히, 마찬가지.

타임머신에서 복구 하자. 백업 목록이 뜨는데, 최종 백업이 3월 10일. 딱 한 달만이군.


오랜만에 부팅하지만, 역시 맥의 UI가 마음에 든다. 안정된 느낌.

윈도우와 오가며 사용할 일이 많으니, 맥의 한영 전환키와 스크롤 방향을 윈도우와 맞춰야 겠다.

한영 전환키 변경 방법은 여기를 참고해서 변경. 스크롤 방향은 시스템 설정/마우스에서.

2015년 4월 4일 토요일

새벽까지의 코딩

새벽 네시을 넘어까지 코딩을 하다가, 결국 원하는 결과를 보고 잠을 잤다. 오랜만에 자바 스크립트를 읽고 수정했다. 내가 원하는 방식으로 동작하도록 하기 위해 고치면서 또한번 몹쓸(?) 자바스크립트의 매력(?)을 느낀다.ㅎㅎ

최근에는 C++로 주로 코딩을 해서 그런지, 더 심하게 이질감이 느껴졌다.

Meteor나 React에 관심은 두고 있으면서 실무에 사용할 기회가 없다. 장난감 프로젝트라도 하나 만들어서 해볼까 싶다.


Windows에서 Jenkins 사용하기

일단 설치. 설치 경로는 C:\Jenkins 등 공백 문자가 없는 곳으로 지정한다. C:\Program Files (x86)\Jenkins에 설치하면 ruby-runtime plugin 등이 설치되지 않는다.

설치 완료 후 자동으로 로컬호스트:8080을 브라우저가 연다.

포트 번호를 바꾸고 싶다.

C:\\Jenkins\Jenkins.xml을 수정해서 8080을 다른 번호로 변경.

CMD창에서 jenkins.exe stop 하고, jenkins.exe start로 재시작한다.

브라우저로 변경된 주소를 연다.

기본 설정은 누구나 접근이 가능하고, 어떤 작업도 할 수 있게 되어 있다.

Manange Jenkins 메뉴에 들어간다.
먼저 사용자를 하나 만든다. Manage Users 클릭.

사용자 등록.

다시 Manage Jenkins > Configure Global Security로 간다.

Enable security 체크.

Security Realm에서 Jenkin's own user database 선택.

Allow users to sign up은 체크 해제.

위에서 사용자를 먼저 만든 이유는 아무나 등록할 수 없도록 하기 위해서다. 사용자를 먼저 만들어 놓지 않으면 설정을 변경하고 저장한 순간. 로그인도 못하고, 사용자 계정 등록도 못한다. 그런 경우에는 이 곳 참고.

Authorization에서 Matrix-based security를 선택했다. 원하는 것을 선택해서 설정하자.

그리고 Save.

다시 로그인을 해야 한다.

이후, Bitbucket plugin, Build Authorization Token Root Plugin, Batch Task Plugin, Yammer Plugin을 설치했다. 설치에 필요한 선결조건들은 알아서 설치된다.

Bitbucket plugin은 너무 간단해서 별 쓸모가 없었다. 사용자 인증을 해야 사용할 수 있게 해놓았기 때문에 Build trigger URL을 token으로 외부에서 인증없이 호출하기 위해 Build Authorization Token Root Plugin을 설치.

Yammer Plugin을 설치할 때 선결조건인 ruby-runtime이 설치가 안되어서 한참 헤맸다. 문제는 Jenkins의 설치 경로 때문인데, 처음에는 기본 설치 경로인 C:\Program File (x86)\Jenkins에 설치를 했었다.

Yammer Plugin을 사용하려면, 앱 등록, 토큰 생성 등을 해야 한다.

오늘 몇시간 삽질한 결과 Bitbucket에 특정 모듈에 변경이 생기면 빌드를 하고, 그 결과를 Yammer에 포스팅하도록 했다.

권한 문제로 빌드시 git checkout이 제대로 안되는 경우 여기를 참고해서 설정한다. 귀찮으면 Service 관리도구를 열어서 Jenkins의 실행 계정을 사용하고 있는, git이 문제 없이 정상 동작하는 로컬 사용자 계정으로 설정해도 된다.