Tag Archives: Homebrew

Mac에 Homebrew를 사용하여 Jenkins 설치하기

jenkins-logo-title

젠킨스는 CI(Continuous Integration) 툴중에 아마도 가장 유명한 CI툴이지 않을까 생각되는 오픈소스 프로젝트입니다. 빌드시에 사용할 수 있는 수백가지가 넘는 플러그인을 제공하고 있으며 대부분의 프로젝트를 자동화 할 수 있을 정도의 확장성과 배포 기능까지 갖추고 있습니다.

Xcode 프로젝트등의 빌드를 수행하기 위해서는 Jenkins 를 맥에서 구동하는 것이 필수일 것입니다. 이번에는 맥에서 Jenkins를 설치하여 구동하는 과정까지 기록을 해보려고 합니다. 복잡한 방법을 사용할것 없이 Homebrew를 사용하면 Jenkins를 손쉽게 설치할 수 있습니다. (이미 설치되어있는 분은 패스하세요~)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

위의 명령을 사용하여 간편하게 Homebrew를 설치할 수 있습니다. 이제 젠킨스를 설치해 보겠습니다.

$ brew install jenkins
==> Using the sandbox
==> Downloading http://mirrors.jenkins-ci.org/war/2.24/jenkins.war
Already downloaded: /Users/dennis/Library/Caches/Homebrew/jenkins-2.24.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.24: 7 files, 67.5M, built in 3 seconds

위와 같이 명령어 한줄로 간단하게 젠킨스를 설치할 수 있습니다. 젠킨스를 백그라운드 서비스로 구동하려면 마찬가지로 간단하게 다음의 명령어 한줄이면 등록이 됩니다.

$ brew services start jenkins
==> Successfully started `jenkins` (label: homebrew.mxcl.jenkins)

나중에 젠킨스를 삭제하려면 다음과 같은 명령을 사용하면 됩니다. (지금 하는것 아님!)

$ brew services stop jenkins
$ brew remove jenkins

이제 젠킨스를 실행했으니 웹사이트에 접속을 해보겠습니다. 로컬 컴퓨터라면 http://localhost:8080에 접속하시면 됩니다.

jenkins-installation-with-homebrew01

위와 같은 화면이 나오게 됩니다. 설치과정에서 외부에서 접속해서 이래저래 하는것을 막기 위한 조치인듯 하네요. 현재 젠킨스를 설치하고 있는 계정의 홈디렉토리에 초기 비밀번호를 기록해 두었으니 그것을 읽어서 그 값을 입력하라고 합니다.

$ cat /Users/dennis/.jenkins/secrets/initialAdminPassword
1c6002e332504fe3b076dbe598834170

이런식으로 읽어보시면 해당 키 값을 읽을 수 있습니다. 이것을 입력해주면 다음으로 진행이 됩니다.

jenkins-installation-with-homebrew02

젠킨스를 어떻게 설치할지 결정할 수 있습니다. 어떤 추가기능을 설치할것인지 결정하는 부분인데요 왼쪽은 일반적으로 사용되는 플러그인들을 설치하는것이고 오른쪽은 하나하나 선택하여 설치할 수 있는 방법을 제공합니다. 필요한 추가적인 플러그인은 나중에 설치하기로 하고 우선 왼쪽의 선택지로 진행하겠습니다.

jenkins-installation-with-homebrew03

이런식으로 필요한 플러그인들을 자동으로 설치하기 시작합니다. 간혹 네트워크 환경에 따라 설치가 되지 않는 경우가 있는데 이경우 네트워크 환경을 점검하시기 바랍니다.

jenkins-installation-with-homebrew03error

저같은 경우에는 회사에서는 Jar 파일 다운로드에 방화벽상의 제약이 있어서 설치가 제대로 되지 않는 문제가 있었습니다.

jenkins-installation-with-homebrew04

설치가 된 이후에는 위와 같은 관리자 계정을 만드는 창이 나옵니다. 여기서는 적절히 자신에게 맞는 정보를 입력하여 관리자 계정을 만들어 주시면 됩니다.

jenkins-installation-with-homebrew05

설치가 완료되었습니다. 정말 간단하고 쉽네요. 이제 만들어진 관리자 계정으로 로그인하여 진입해보겠습니다.

jenkins-installation-with-homebrew06

젠킨스를 정상적으로 설치하였고 관리자 계정을 만들어서 로그인하는것에 성공하였습니다. 프로젝트 빌드하는 방법에 대해서는 또 다른 글을 올리도록 하겠습니다.

Mac 환경에서 MariaDB 설치하기

현재 맥북에서 개발을 진행하고 있습니다. MySQL을 설치해서 개발중에 있다가 MariaDB와 MySQL의 생각이상의 호환성을 보며 맥에 설치되어있는 MySQL을 삭제하고 MariaDB를 설치하기로 하였습니다. 글은 MySQL 삭제와 MariaDB 설치 2단계로 작성할 생각이고 Homebrew가 설치된 환경에서 진행하였습니다.

MySQL 삭제

다음의 명령을 사용하여 설치되어있는 MySQL을 삭제할 수 있습니다. MySQL이 설치되어있지 않다면 이 과정은 생략하시기 바랍니다.

$ brew unlink mysql
Unlinking /usr/local/Cellar/mysql/5.6.15... 106 links removed

$ brew remove mysql
$ brew cleanup

MariaDB 설치

다음의 명령을 사용하여 정말 쉽게 설치를 할 수 있습니다.

$ brew update
$ brew install mariadb
==> Downloading http://ftp.osuosl.org/pub/mariadb/mariadb-5.5.34/kvm-tarbake-jaunty-x86/mariadb-5.5.
Already downloaded: /Library/Caches/Homebrew/mariadb-5.5.34.tar.gz
==> cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/mariadb/5.5.34 -DCMAKE_FIND_FRAMEWORK=LAST -DCM
==> make
==> make install
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.

To connect:
    mysql -uroot

To have launchd start mariadb at login:
    ln -sfv /usr/local/opt/mariadb/*.plist ~/Library/LaunchAgents
Then to load mariadb now:
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
Or, if you don't want/need launchctl, you can just run:
    mysql.server start
==> /usr/local/Cellar/mariadb/5.5.34/bin/mysql_install_db --verbose --user=dennis --basedir=/usr/loc
==> Summary
  /usr/local/Cellar/mariadb/5.5.34: 483 files, 111M, built in 2.0 minutes

설치 과정에서 나오는 설명을 잘 보면 친절하게 설명이 되어있습니다만 맥이 부팅될때 자동으로 MariaDB를 구동하려면 다음과 같이 등록해 주면 됩니다.

$ ln -sfv /usr/local/opt/mariadb/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

하지만 저는 매번 실행할 필요 없이 필요할때만 구동하면 되겠기에 위의 과정을 생략하고 필요할때마다 다음의 명령을 실행하여 MariaDB를 구동하고 있습니다.

$ mysql.server start
Starting MySQL
.. SUCCESS!