우분투를 사용한 이유는 윈도우에서 제공해줘서 그렇다.
(이전 게시글에서 CentOS 에다가 Docker 랑 CI/CD 진행할거라고 했는데, 우분투가 일단 간편해서 먼저 하고 차후에... 어차피 AWS 에서도 해볼거라 3가지 다 할 예정)
윈도우 버전에 따라 다른데, 거의 2020년도 이후로 구매한 윈도우에서는 보통 우분투를 지원해준다.
무슨말이냐면, 리눅스를 사용하는 방법에는 대략 3가지 정도가 있다.
근데 이 3개를 초월하는 게 있다.
더 더 요즘 윈도우는 그냥 App으로 Ubuntu 를 이용할 수 있게 해준다.
바로 이거다.
윈도우 스토어에서 그냥 다운받을 수 있다.
그러고 나면 설치 끝이다. 그냥 윈도우에서 어플 실행으로 Ubuntu 사용이 되는 것이다.
우분투 설치가 끝났으니, 이제 젠킨스를 설치할 때다.
처음엔 구글링을 통해 몇몇 블로그를 보고 따라해보려고 했는데, 생각보다 에러가 많았다.
그게.. 이 전에도 몇번씩 겪었던 일인데..
리눅스 관련해서는 아무 생각없이 블로그들만 따라 하다보면 안된다.
생각보다 버전관리 및 환경이 조금이라도 다른 것들이 아주 많아서 그렇다.
가장 좋은 방법은 레퍼런스를 참고해서 하는게 베스트다!
레퍼런스 주소는 다음과 같다.
https://pkg.jenkins.io/debian-stable/
이제부터는 레퍼런스를 참고한 가장 최신의 우분투(데비안)에서의 젠킨스 설치 순서를 공략해보겠다.
블로그들에는 위의 코드가 없고 wget 이나 다른 방식으로 하고 있는데 아마도 몇 개월 지나지 않았는데 그 사이에 업데이트가 있었던 것 같다.
완벽히 같은 환경이 아니라면 더 이상 그 방법으로는..
그냥 만든 사람들이 직접 제공해주는 거 대로 하는게 좋으니 이 명령어를 쓰길 바란다.
(참고로 레퍼런스 url 에서 직접 복붙하면 중간에 '\' 이거는 제거하고 Ctrl+V 해야한다.)
1번으로 했던게 key 가져온거였고, 지금은 키 출력을 넘겨서 리스트에 등록하는 명령어다.
그리고 레퍼런스에서는 위의 명령어를 치라고 하고 있고, 다른 블로그도 마찬가지다. 그러나 안되는 경우가 있을 수 있다. 내가 그랬다. 스택오버플로우에 물어보니 그럴때는 그냥 apt 자체를 업그레이드 + 업데이트 하라고 한다. 그래서 안될 경우, apt upgrade 를 하고 apt update를 하자. 아 참고로 이 명령어는 리스트에 넣어둔거 update 해주기 위한 명령어다.
이제 설치를 하면 된다.
설치할때 보면 중간에 default 디렉터리에 설치한다고 나온다. 여기를 vi로 열어보면 port가 쓰여있는 부분을 찾을 수 있고 8080으로 잡혀있다. 충돌을 방지하기 위해 나는 9999로 변경해줬다. 여기서도 에러가 날 수 있는데, sudo 없이 vi 로 들어가면 readonly 에러가 뜰 수 있고 w! 나 w!q 와 같은 강제 명령어로 해결하려고 해도 안된다. 때문에 다시 뒤로 나가서 sudo 를 반드시 붙이고 vi 하길 바란다.
이건 젠킨스 데몬 실행할때 쓰이는 설정파일인데 여기에도 port 가 적혀있으므로 찾아서 9999 등의 본인이 변경한 포트번호로 바꾸길 바란다.
이제 설치가 끝났으므로 위의 명령어를 통해 실행하면 된다.
브라우저를 열고 http://localhost:9999 로 접속한다.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
굳이 systemctl 같은 명령어로 start 된 상태인지 확인할 필요 없이 브라우저로 접속해서 되면 실행된거다. 나처럼 윈도우 우분투를 사용한다면 우분투 터미널에서 지금까지의 명령어로 설치를 한 뒤에 그냥 윈도우에서 사용하던 크롬으로 접속해도 문제없다.
그리고 9번의 명령어를 터미널에 치면 초기 비밀번호를 알려준다.
접속한 페이지 첫 화면에서 초기 비밀번호를 치라고 뜨니 9번의 명령어를 통해 얻은 값을 입력.
그 다음 제안해주는 대로 설치하기를 클릭해서 기본적으로 젠킨스에 필요한 것들을 설치하면 된다.
제안해주는 대로 설치하기는 내가 한국어로 표현한거고 실제로는 당연히 영어..다.
여기서 설치가 안되는 것들이 있을 수 있다.
필자도 절반정도 설치에 실패했다.
그럼 retry 할거냐고 물어볼 것이다.
해주면 다 설치된다.
설치가 끝났으니 다음은 젠킨스를 활용해서 빌드 및 배포를 해보도록 하겠다~!