Develop
2017.03.15 18:11
Mac OS 에 Jenkins 설치하기 (Homebrew)
Views 8413 Comment 2
Attachment '7' |
|
---|
![jenkins01.jpg](https://www.hooni.net/xe/files/attach/images/207/186/079/f6f151757f2aeb3eccd81da908feb337.jpg)
젠킨스는 CI(Continuous Integration) 툴이며 오픈소스 프로젝트이다. 빌드를 위한 수 백가지가 넘는 플러그인을 제공하고 있어 대부분의 프로젝트를 자동화 할 수 있을 정도의 확장성과 배포 기능까지 갖추고 있다.
(Hudson 이었던 이름이 Jenkins로 변경, 원래 SUN에서 지원하고 있었으나 Oracle과 합병되면서 Hudson 개발자들이 github에서 Jenkins로 다시 시작)
다양한 플랫폼을 지원하지만, Mac OS 에서 개발되는 Xcode 프로젝트를 빌드하기 위해서는 Jenkins를 Mac OS 에서 구동해야 한다. 그래서 이번에 맥에서 Jenkins를 설치하고 구동하는 과정을 소개한다. 단순한 설명을 위해 Mac OS이 패키지 관리 툴인 Homebrew를 사용하여 설치해보자.
1. Homebrew 설치
다음 명령어는 Mac OS 에서 Homebrew를 설치하는 과정이다. 이미 설치가 되어 있다면 패스! ㅋㄷ
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. Jenkins 설치와 설정
이제 젠킨스를 설치해보자.
다음과 같은 brew 명령어 한 줄로 젠킨스를 설치할 수 있다^^;;
$ brew install jenkins Updating Homebrew... ==> Using the sandbox ==> Downloading http://mirrors.jenkins-ci.org/war/2.50/jenkins.war Already downloaded: /Users/hooni/Library/Caches/Homebrew/jenkins-2.50.war ==> jar xvf jenkins.war ==> Caveats Note: When using launchctl the port will be 8080. To have launchd start jenkins now and restart at login: brew services start jenkins Or, if you don't want/need a background service you can just run: jenkins ==> Summary /usr/local/Cellar/jenkins/2.50: 7 files, 66.7MB, built in 3 second
명령 실행 후, 위의 화면과 비슷한 내용이 출력되었다면 잘 설치된 것이다.
이제 젠킨스를 백그라운드 서비스로 구동하기 위해 다음 명령을 실행한다.
$ brew services start jenkins ==> Successfully started `jenkins` (label: homebrew.mxcl.jenkins)
젠킨스를 설치하고 실행했으니 접속해보자.
http://127.0.0.1:8080 또는 http://localhost:8080 으로 접속할 수 있다.
해당 호스트(Mac)에 도메인이 할당되어 있다고 하더라도 로컬호스트 외엔 접속이 안될 것이다. 로컬호스트 외에 다른 도메인을 적용하는 방법은 마지막에 설명하겠다.
![jenkins02.jpg](https://www.hooni.net/xe/files/attach/images/207/186/079/14927334bb9daee03647218e659c605e.jpg)
설치 후 최초 접속을 하면 위와 같이 인증 화면이 나오게 된다. 현재 젠킨스를 설치하는 계정의 홈 디렉토리의 경로에 초기 비밀번호를 기록했으니 읽어서 입력하라는 내용이다.
$ cat /Users/hooni/.jenkins/secrets/initialAdminPassword 137e62c15558425c931ccc2c53a08b77
텍스트 에디터를 열어서 직접 확인해도 되지만, 위와 같이 cat 명령어로 간단히 출력한 후 이를 복사/붙여넣기 하면 된다.
![jenkins03.jpg](https://www.hooni.net/xe/files/attach/images/207/186/079/377460bad083bc1383320993d380e397.jpg)
초기 비밀번호를 입력후 어떤 방식으로 설치할 것인지 묻는 화면이 나온다. 플러그인을 하나하나 직접 선택해서 설치할 것인지, 제안하는 플러그인대로 알아서 설치할 것인지 선택하면 된다. 추가로 필요한 플러그인은 나중에 따로 설치할 수 있으므로 왼쪽의 알아서 설치하는 버튼을 선택해서 진행한다.
![jenkins04.jpg](https://www.hooni.net/xe/files/attach/images/207/186/079/6aeb5eba512f391f1552a73199236578.jpg)
선택하게되면 위의 화면처럼 플러그인을 자동으로 설치하기 시작한다. 간혹 네트워크 환경에 따라 설치되지 않는 플러그인이 있을 수 있는데 이런 경우 네트워크 환경을 점검해보자.
![jenkins05.jpg](https://www.hooni.net/xe/files/attach/images/207/186/079/f49bfb6126a59017c6f8d793e34c561c.jpg)
플러그인들이 설치되고 나면 위와 같이 관리자 계정을 만드는 화면으로 이동한다. 관리자 계정까지 만들면 끝!
다음과 같은 화면이 나오고 방금 입력한 관리자 정보로 로그인 할 수 있다.
![jenkins06.jpg](https://www.hooni.net/xe/files/attach/images/207/186/079/8800b784c5837468f057cf7450b9a694.jpg)
관리자 계정으로 로그인 하면 다음과 같은 화면이 나온다. 끝! ㅋㅋ
![jenkins07.jpg](https://www.hooni.net/xe/files/attach/images/207/186/079/972ee61af6f791dba5a46232697e70f5.jpg)
위와 같은 화면이 나왔다면 젠킨스 설치와 관리자 계정까지 잘 설정된 것이다.
하지만, 아직은 로컬호스트로만 접속이 가능하다.
해당 Mac 호스트를 CI 전용 서버로 쓰는 경우 로컬호스트 이외의 도메인이나 IP로 접속을 할 수 있어야 한다.
다음 경로의 파일을 편집해보자.
$ cd /usr/local/opt/jenkins $ vi homebrew.mxcl.jenkins.plist
다음 코드의 127.0.0.1 부분을 0.0.0.0 으로 변경 후 저장한다.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>homebrew.mxcl.jenkins</string> <key>ProgramArguments</key> <array> <string>/usr/bin/java</string> <string>-Dmail.smtp.starttls.enable=true</string> <string>-jar</string> <string>/usr/local/opt/jenkins/libexec/jenkins.war</string> <string>--httpListenAddress=127.0.0.1</string> <string>--httpPort=8080</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>
편집 후 다음 명령으로 젠킨스를 재시작 한다.
$ brew services restart jenkins
이제 로컬호스트가 아닌 IP나 도메인을 통해서도 접속이 될 것이다.
3. Jenkins 제거
젠킨스를 삭제하려면 다음과 같은 명령을 사용하면 된다.
$ brew services stop jenkins $ brew remove jenkins
위의 명령으로 젠킨스를 삭제 후 동일 계정으로 다시 설치 한다면 이전의 설정 정보(계정 등)가 그대로 남아 있을 것이다. 이전의 데이터까지 모두 삭제하려면 설치했던 계정의 홈디렉토리에서 .jenkins 디렉토리를 삭제하면 된다.
다음 명령어를 참고하자.
$ rm -rf ~/hooni/.jenkins
이로써 젠킨스 설치와 관리자 계정 설정까지 모두 마쳤다.
젠킨스를 이용해서 프로젝트를 빌드하고 관리하는 방법에 대해서는 다음 글에서.. ㅋㅋ
[참고] https://jenkins.io/index.html
No. | Category | Subject | Author | Date | Views |
---|---|---|---|---|---|
481 | Develop | [c] 구조체의 설명과 예제.. | hooni | 2003.04.23 | 8403 |
480 | Develop |
[java] 채팅 프로그램.. swing 사용..
![]() |
hooni | 2013.04.23 | 8373 |
479 | Develop |
[c] 콘솔에서 패스워드 입력시 문자 보이지 않게 하는 코드
![]() |
hooni | 2013.04.23 | 8365 |
478 | Develop | [js] 쿠키(cookie)에 대한 설명과 예제.. | hooni | 2003.04.23 | 8359 |
477 | Develop |
[c] 암호 알고리즘 소스..
![]() |
hooni | 2013.04.23 | 8354 |
476 | Develop |
[swift] NotificationCenter 간단 예제
![]() |
hooni | 2021.01.27 | 8354 |
475 | Develop | [js] selectbox 선택 후 input 박스에 적용 | hooni | 2013.04.23 | 8350 |
474 | Develop | [c] 이진트리(binary tree)의 운행.. | hooni | 2003.04.23 | 8315 |
473 | Develop |
[c++] 레지스트리 편집하는 부분..ㅡㅡ;
![]() |
hooni | 2013.04.23 | 8310 |
472 | Develop |
[c++] 현승이가 준 메신저 소스.. ㅋㅋ
![]() |
hooni | 2013.04.23 | 8301 |
471 | Develop |
[c] selec()를 이용한 입출력 다중화
![]() |
hooni | 2013.04.23 | 8277 |
470 | Develop |
[php] 마시마로 캐릭터 방명록
![]() |
hooni | 2003.04.23 | 8277 |