티스토리 뷰
이번엔 Jenkins를 알아보았어요.
Jenkins는 다른 CI들과 달리 설치해서 사용하는 방식이에요.
Jenkins 설치
일단 저는 Mac유저라서 macOS 버전을 homebrew로 설치합니다.
https://www.jenkins.io/download/lts/macos/
macOS Installers for Jenkins LTS
Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software
www.jenkins.io
$ brew install jenkins-lts
설치 중에 8080 포트로 설정이 되었고 시작하려면 brew services start jenkins-lts를 입력해서 시작하면 된다고 합니다.

서비스를 시작해봅니다.
$ brew services start jenkins-lts
성공했다는 말은 언제들어도 기분이 좋네요.

위에서 설정된 포트대로 접속을 합니다.
http://localhost:8080
뭔가 뜨긴하는데 initial admin password를 입력하라고 합니다. password는 빨간글씨의 경로로 가면 볼 수 있어요.

Jenkins는 여러가지 plugins을 지원합니다.
일단 간단한 프로젝트를 테스트 해볼 예정이라서 Install suggested plugins으로 진행할께요

아래와 같이 기본적으로 제안하는 plugins들이 설치됩니다.

설치가 끝나면 admin 계정을 생성해줍니다.

URL을 변경할 수 있는데 저는 일단 기본으로 갈께요. (나중에 Jenkins 관리에서 변경 가능!)

Jenkins 프로젝트 설정
아직 완벽하게 다 번역된 것은 아니지만 한글로 번역된 부분이 어느정도 있는 것 같아요.
시작하려면 새 작업을 만들어 달라니 새 작업을 만들어 봅니다.

Freestyle project 설명을 보니 우리가 원하는 빌드 시스템인 것 같네요.
저는 JenkinsTest라는 Repository를 사용해서 진행할꺼에요.
item name을 입력하고 Freestyle project를 선택한 후 OK를 눌러줍니다.

소스 코드 관리에는 Git Repository를 넣어 줍니다.

Build에는 Execute shell로 command를 입력 할 수 있어요.
CocoaPods Install, Carthage Install 그리고 빌드 후 테스트를 진행하는 명령어를 넣었어요.

저는 이미 Mac에 CocoaPods, Carthage가 설치되어 있어서 PATH에 /usr/local/bin을 추가했어요.
만약 Docker를 사용해서 container를 따로 실행하거나 CocoaPods, Carthage가 설치되어 있지 않다면
build - Execute shell에 CocoaPods, Carthage를 설치하는 Command를 넣으시면 되요.
PATH 설정은 왼쪽 상단에 Jenkins를 눌러서 Jenkins 관리로 들어갑니다.(저는 이 설정을 안해줘서 한번 빌드 실패했어요)

System Configuration의 시스템 설정으로 들어가서 환경변수를 넣어줘야해요

Global properties에 Environment variables를 눌러서 아래와 같이 PATH에 /user/local/bin:$PATH를 추가해줍니다.

Jenkins 빌드
Jenkins -> 프로젝트 로 들어가면 왼쪽에 Build Now가 있어요. 아직 Trigger를 설정하지 않았기 때문에 일단 수동으로 빌드를 해봅니다.

/usr/loca/bin에 있는 CocoaPods과 Carthage를 사용해서 빌드가 잘 되네요.

참고로 프로젝트의 작업 공간을 보면 Carthage와 Pods이 유지되어 있어요.
이 공간은 기본적으로~/.jenkins/workspace에 위치해 있고 작업공간 초기화를 하지 않는 이상 유지되요.

일단 빌드까지는 성공했고
Trigger를 통해서 언제 빌드가 되고 배포를 할지 다음 포스트에서 이어서 진행할께요!
테스트에 사용된 Repository는 아래 링크에 있어요
https://github.com/jhseo/JenkinsTest
jhseo/JenkinsTest
Contribute to jhseo/JenkinsTest development by creating an account on GitHub.
github.com
'iOS' 카테고리의 다른 글
| Travis CI - iOS를 위한 CI/CD 사용해보기 (with CocoaPods, Carthage cache) (0) | 2020.09.28 |
|---|---|
| Bitrise - iOS를 위한 CI/CD 사용해보기 (with CocoaPods, Carthage cache) (0) | 2020.09.24 |
| Xcode 12 업데이트 후 Carthage 빌드가 되지 않는 현상 (0) | 2020.09.19 |