2023.01 맥북 Jenkins 설치

jae hwan choo·2023년 1월 11일
0

CI/CD

목록 보기
1/3

2022년 초반 설치해서 잘 사용하던 jenkins가 3달만에 켰더니 동작하지 않았다.
별 생각없이 최신버전을 설치했더니 아예 실행조차 되지 않았다.

https://www.jenkins.io/blog/2021/12/22/deprecated-ruby-runtime/

ruby-runtime 으로 fastlane 자동빌드를 했었는데, 더이상 지원하지 않는다고 한다.

======

  1. 기존 젠킨스를 전부 삭제한다.
    $ brew remove jenkins
    $ brew cleanup
    $ brew uninstall jenkins --force
    $ brew cleanup
    $ sudo rm -rf /var/root/.jenkins ~/.jenkins

lts를 설치 했다면
$ brew remove jenkins-lts
$ brew cleanup
$ brew uninstall jenkins-lts --force
$ brew cleanup
$ sudo rm -rf /var/root/.jenkins-lts ~/.jenkins-lts

====== 재설치

  1. 홈브루 업데이트
    $ brew update

  2. 젠킨스 설치, 버전 업데이트가 별로 없는 lts로 설치 하자.
    $ brew install jenkins-lts
    설치 후 명령어
    $ brew services start jenkins-lts // 젠킨스 시작
    $ brew services stop jenkins-lts // 젠킨스 종료
    $ brew services restart jenkins-lts //젠킨스 재시작

  3. http://localhost:8080 접속.
    시작 화면이 뜨면 붉은색 위치로 가서 초기 비밀 번호를 적어준다.
    $ vi /Users/jaehwanchoo/.jenkins/secrets/initialAdminPassword

  4. 플러그인 선택이 나오면, 잘 모르니, 왠만하면 install suggested plugin 설치

  5. 사용자를 만들고, 시작
    jhchoo/jhchoo/jhchoo/jhchoo@gmail.com

  6. lts 버전 설정변경
    $ vi /usr/local/opt/jenkins-lts/homebrew.mxcl.jenkins-lts.plist

<?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/local/opt/openjdk@17/bin/java</string>
           <string>-Dmail.smtp.starttls.enable=true</string>
           <string>-jar</string>
           <string>/usr/local/opt/jenkins/libexec/jenkins.war</string>
           <string>--httpListenAddress=0.0.0.0</string>
           <string>--httpPort=9999</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

이제 젠킨스를 재시작 하자.
$ brew services start jenkins-lts // 젠킨스 시작
$ brew services stop jenkins-lts // 젠킨스 종료
$ brew services restart jenkins-lts //젠킨스 재시작

  1. 현재 openjdk 17 기억하고, 플러그인을 설치하자.
    Manage Jenkins > Plugin Manager > 설치

=======
새로 아이템을 만들고, gitlab 소스를 가져오고, fastlane을 실행 하려고하면,
fastlane: command not found.
찾을 수 없다고 한다. 이제 중요함.

맥북 환경설정을 가져다 사용할 수 있도록 해야 한다.
1. 맥북의 환경설정에 fastlane을 추가한다.
$ sudo vi ~/.zshrc

# JAVA
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
export PATH=${PATH}:$JAVA_HOME/bin

# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"

# fastlane
export PATH="$PATH:$HOME/.fastlane/bin"
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8

글로벌 환경설정 추가.
Dashboard > Manage Jenkins > Configure System

PATH=$PATH:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin

fastlane 명령어 전에 bundle update를 해보라고 한다.
https://docs.fastlane.tools/best-practices/continuous-integration/jenkins/

참고
https://medium.com/tech-tajawal/continuous-integration-in-ios-for-fun-and-profit-6c27964d663b
아래의 명령어로 변경

bundle update
bundle exec fastlane dev

sudo 권한이 없을 때, NOPASSWD 권한을 준다.
https://apple.stackexchange.com/questions/257813/enable-sudo-without-a-password-on-macos

sudo visudo

root ALL=(ALL) ALL
%admin ALL=(ALL) NOPASSWD: ALL
stens ALL = (ALL) NOPASSWD: ALL # my userid is stens

fastlane은 넘어갔는데, UTF-8 에러 발생
fastlane requires your locale to be set to UTF-8

에러 메세지: fastlane: command not found

환경설정 추가.
Name: Path
/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

에러 메세지: fastlane requires your locale to be set to UTF-8
젠킨스 환경설정 또 추가.
Name: LC_ALL
en_US.UTF-8

Name: LANG
en_US.UTF-8

Name: LANGUAGE
en_US.UTF-8

Name: LC_CTYPE
en_US.UTF-8

Name: ANDROID_HOME
/Users/jaehwanchoo/Library/Android

안드로이드 빌드. 환경설정 넣어주고 완료.

PS. 안드로이드 린트 에러가 나서, 무시 옵션 추가

android {
    ...
    lintOptions {
        disable "Instantiatable"
    }
    ...
}    

업데이트 완료.

0개의 댓글

관련 채용 정보