티스토리 뷰
이번엔 Jenkins를 알아보았어요.
Jenkins는 다른 CI들과 달리 설치해서 사용하는 방식이에요.
Jenkins 설치
일단 저는 Mac유저라서 macOS 버전을 homebrew로 설치합니다.
https://www.jenkins.io/download/lts/macos/
$ 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는 아래 링크에 있어요
'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 |