Jenkins..

젠킨스를 처음 알게 된 것은 대략 7-8년 전쯤으로 갈 수 있을 것 같다.

일종의 자동화를 대행해주는 프로그램인데 웹 인터페이스가 붙어져있고 사용자가 스크립트를 구성할 수 있게 되어있을 뿐 아니라 플러긴을 엄청나게 많이 들여다 쓸 수 있고 git/svn과도 연동이 되는 등 그 기능이 정말 무지막지하게 많다는 것인데, 아주 쉽게 생각하면 단순한 crond에 묶어놓은 스크립트가 돌아가는 시스템을 웹 인터페이스와 플러긴 지원을 통해서 엄청나게 확장해놓은 것이라고 보면 된다.

어쨌든 가장 중요한 것은 어떤 조건에 맞춰서 자동화를 한다는 것이다. 그 조건이 매우 다양하고 웹 인터페이스를 통해서 쉽게 설정할 수 있다는 것이다. 서버라고 이름 붙이는 것은 자바 응용 프로그램 하나가 떠올라서 계속해서 실행 중인 상태로 있으면서 웹 인터페이스와 자동화를 대행해주기 때문이지 싶다.

Jenkins의 대략적인 설명이나 누군가의 웹페이지를 통해서 이해하고 있는 이들은 Jenkins를 설치해놓으면 마치 자신의 PC에 뭔가 자동으로 다 해주는 어플리케이션 쯤으로 생각하는 것 같다. 위에서도 설명했듯 Jenkins는 확장된 자동화 시스템의 개념이고 여기에 플러긴과 웹 인터페이스를 통해서 자동화를 설정하기 쉽게 해놓았다는 것 뿐이다.

어떤 것과 연동을 하고 어떻게 연동을 하며 빌드는 어떤 방법으로 해야 하고 그렇게 나온 결과들을 어떻게 배포하고 사람의 손이 최대한 덜 가면서도 최대의 효과를 노릴 수 있는가는 전부 다 운영하는 사람의 능력에 달려있다. 적어도 두 어 가지 이상의 스크립트 (js, perl) 정도는 구사할 수 있어야 Jenkins가 제공하는 Groovy에도 쉽게 적응이 가능하다. 사실 perl과 js 모두 C와 가깝다보니 사실 이러한 맥락으로 맞추면 재미있게 운용을 할 수 있다.

다양한 기능들, 지능화된 자동화는 전부 다 운용하는 이의 스크립팅 능력에서 나오는 것이지 Jenkins가 알아서 해주는 것은 단지 조건에 맞춰 자동화를 진행시키는 일, 즉 Groovy script를 실행하는 것 뿐이다. Groovy script를 실행하면서 특정 조건을 걸어두고 그것이 만족되는지 아닌지 여부에 따라 다양한 일을 하게 되는 데 그 모두 다 운용자의 능력에 결부된다.

예를 들어 Jenkins 서버가 아작 나더라도 다시 쉽게 재복구가 가능할 것인가 하는 질문을 할 수 있는데, 그 역시 운용자의 선택에 달려있다. 그 사람이 어떤 편이 운용에 유리한지 여부를 가지고 판단한다. 사실 Jenkins는 git에 groovy script같은 것도 받아와서 실행할 수 있도록 지원하지만, 적어도 스스로 서버를 재미 삼아 운용해 본 입장이라면 ‘나’를 위해 일하는 서버가 아니라면 이런 일은 하지 않는다.

Jenkins는 일단 그 편의성에 길들여지고 나면, 특히나 운용자의 스마트함으로 알게 모르게 모든 일이 자동화되고 나면 그 서비스를 이용하고 있는 이들은 이 모든 것들이 거저 얻어지는 것으로 착각하게 된다. 따라서, 운용자가 사라진 상황에선 더 이상 이런 서비스가 제공되어야 한다고 생각하지 않기 때문에 불의의 사태가 벌어지면 운용자 그 자신이 아닌 그 누구도 그 시스템을 복구해낼 수 없다. 그것으로 끝이난다.

똘똘한 Jenkins 서비스는 그 운용비를 매달 개발자에게 지불해야 할 정도로 훌륭한데, 그 이유는 기성 제품이 조직의 특수성에 맞도록 개발되지 않았을 뿐더러, 헐값에 해줄리가 없기 때문이다. 내가 아는 한 어느 회사도 그렇게 하지 않는다. 체계화된 소프트웨어 개발 그룹이 아니고선, 단지 순수한 마음으로 모두를 위해 서비스를 열겠다 시작해서 진행되었을 뿐인 경우가 많다. 따라서 운용자가 조직을 떠나는 사태가 벌어지면 당연히 그 서비스도 완전 몰수가 일어나야 맞다. 이것이 자본주의 사회의 모습이 아니고 또 뭘까?

이렇게 해서 문제가 터지고 나면 수습할 사람이 없어지고 한바탕 난리를 치루고 나면 그 때 가서 사람 귀한 줄 알게 되는 게 또 자본주의 사회의 모습이라고 할 수 있지 않을까? 돈이면 다 되는 것으로 생각하지만 일단 제대로 대가를 지불하지 않고 선의로 제공된 좋은 서비스에 길들여지고 공짜를 당연한 것으로 알고 행동한다면 그것이 끊어졌을 때의 엄청난 고통 또한 감내해야 한다. 그래도 그런 선의를 베풀고 사는 호구들이 참 많다 (나를 포함해서).