입사하면 할 일이 있다. 바로 작업 환경 구축. 하루는 이걸로 날린다고 보면 된다. 가끔 컴퓨터를 포맷하면 또 하루를 세팅으로 날린다.

내가 삽질한 걸 다른 사람도 안 했으면 좋겠다. 그래서 작업 환경 구축 위키 페이지를 업데이트한다. 만약 찾아봐도 없으면 페이지를 만들고 기록한다. 그리고 다음 사람은 조금이라도 더 쉽게 했으면 하는 바람에 세팅 후기 페이지도 만들고 갱신한다.

문서화 좋다. 여기에서 더 앞으로 나간다면? 바로 스크립트다. 위키 페이지를 하나하나 보며 따라 하기 보다 한방에 자동으로 된다면? 그게 바로 boxen이다.

Puppet is IT automation software that helps system administrators manage infrastructure throughout its lifecycle, from provisioning and configuration to orchestration and reporting.

what is puppet? – puppet labs

puppet을 사용했다. 서버 세팅 자동화가 목적인 소프트웨어로 알고 있다. 이름만 들어본 수준이라서. 이걸 컴퓨터 작업 환경 구축에 사용하다니. 난 이런 생각을 못 해봤다.

이거 몇번이나 한다고. 신규 입사자 혹은 포맷할 경우 아니면 할 게 있어? 오버 엔지니어링? 아니다. 보안 소프트웨어 업그레이드, 소프트웨어 라이선스 관리, 아마 서버 세팅 자동화에 쓰고 있을 puppet 노하우 축적 등. 이건 투자할 만하다.

windows는? 일단 boxen은 macOS만 지원. Chocolatey를 활용하면 흉내 낼 수 있지 않을까는 생각하고 있다. 하지만 보안을 이유로 PowerShell을 막아서. 지금은 부러워만 하는 상태.

/pnotes/assets/2016-08-19-github-boxen-1.png

빨리 작업하고 싶지? 하지만 이걸 우선 다 설치해야 함.

/pnotes/assets/2016-08-19-github-boxen-2.png

하루는 작업 환경 구축으로 허비.

/pnotes/assets/2016-08-19-github-boxen-3.png

하지만 boxen 덕에 한 방. 실행하고 커피나 한잔 하고 오시게.

/pnotes/assets/2016-08-19-github-boxen-4.png

include 할 수 있다. 모든 개발자가 깔아야 하는 필수 소프트웨어를 정의. 전투 기지(battle station)라니 이름 멋지네.

/pnotes/assets/2016-08-19-github-boxen-5.png

개인 설정도 올려놓을 수 있다.

/pnotes/assets/2016-08-19-github-boxen-6.png

소프트웨어 설치뿐만 아니라 git 설정 같은 것도 가능.

/pnotes/assets/2016-08-19-github-boxen-7.png

macOS 설정도

/pnotes/assets/2016-08-19-github-boxen-8.png

에러 나면 자동으로 issue 등록

/pnotes/assets/2016-08-19-github-boxen-9.png

이것도 자동으로 해주는 거겠지? 수정 후 성공하면 알아서 이슈가 닫힘. 자동 이슈 등록은 개수 폭발이 가장 큰 걱정. 닫아주는 것만 자동으로 해줘도 이런 걱정은 안 할 것 같다.

/pnotes/assets/2016-08-19-github-boxen-10.png

/pnotes/assets/2016-08-19-github-boxen-11.png

프로그래머뿐만 아니라 다른 직군도 잘 쓰고 있는 것 같다.

/pnotes/assets/2016-08-19-github-boxen-12.png

업데이트하는 게 귀찮다. 보안 이슈 때문에 업데이트해야 하는지 모른다. 이런 이유로 업데이트를 안 해서 보안 취약이 발생. 하지만 먼저 발견한 사람이 push. 다른 사람은 boxen 실행으로 업데이트가 되니 보안 이슈 대응도 빠르다.

링크