GitLab_가이드

macOS에 GitLab Runner 설치

구일칠구 2022. 8. 3. 06:22

macOS에 GitLab Runner 설치

GitLab Runner는 macOS에 설치 및 업데이트할 수 있습니다.

설치 중

macOS에 GitLab Runner를 설치하는 방법에는 두 가지가 있습니다.

  • 수동 설치 . 이 방법은 GitLab에서 공식적으로 지원하고 권장합니다.
  • 홈브류 설치 . 수동 설치의 대안으로 Homebrew 와 함께 설치하십시오.

수동 설치(공식)

GitLab Runner 9 및 이전 버전에 대한 문서 는 이 문서 를 참조하십시오 .
  1. 시스템용 바이너리를 다운로드하십시오.Bleeding Edge 에 설명된 대로 사용 가능한 모든 버전에 대한 바이너리를 다운로드할 수 있습니다 . 다른 태그가 있는 릴리스 다운로드 .
  2. sudo curl --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64"
          
  3. 실행할 권한을 부여합니다.
  4. sudo chmod +x /usr/local/bin/gitlab-runner
          

나머지 명령은 러너를 실행할 사용자로 실행해야 합니다.

  1. 주자 등록
  2. macOS에서 iOS 또는 macOS 애플리케이션을 빌드할 때 셸 실행기를 사용합니다 . 빌드 및 테스트는 로그인한 사용자의 ID로 빌드 호스트에서 직접 실행됩니다. 컨테이너에서 실행되지 않습니다. 이것은 컨테이너 실행기를 사용하는 것보다 덜 안전합니다. 자세한 내용 은 이 시나리오에서 염두에 두어야 할 사항에 대한 자세한 내용은 보안 관련 문서 를 참조하십시오.
  3. 터미널을 열고 현재 사용자로 전환합니다.
  4. su - <username>
          
  5. GitLab Runner를 서비스로 설치하고 시작합니다.
  6. cd ~
          gitlab-runner install
          gitlab-runner start
          

GitLab Runner가 설치되고 시스템 재부팅 후 실행됩니다.

홈브류 설치(대안)

GitLab을 설치하기 위해 Homebrew 공식을 사용할 수 있습니다 .

GitLab은 Homebrew 공식을 유지하지 않습니다.

Homebrew를 사용하여 GitLab Runner를 설치하려면:

  1. GitLab 러너를 설치합니다.
  2. brew install gitlab-runner
          
  3. GitLab Runner를 서비스로 설치하고 시작합니다.
  4. brew services start gitlab-runner
          

GitLab Runner가 설치되어 실행 중입니다.

macOS의 제한 사항

서비스는 현재 사용자로 로그인한 터미널 창에서 설치해야 합니다. 그래야만 서비스를 관리할 수 있습니다.

현재 사용자로 로그인하려면 su - <username>터미널에서 명령을 실행합니다. 명령을 실행하여 사용자 이름을 얻을 수 있습니다 ls /users.

현재 macOS에서 작동하는 입증된 유일한 방법은 사용자 모드에서 서비스를 실행하는 것입니다.

서비스는 사용자가 로그인한 경우에만 실행되므로 macOS 시스템에서 자동 로그인을 활성화해야 합니다.

서비스는 LaunchAgent. 를 사용 LaunchAgents하면 빌드에서 UI 상호 작용을 수행할 수 있으므로 iOS 시뮬레이터에서 실행 및 테스트할 수 있습니다.

macOS에는 LaunchDaemons백그라운드에서 완전히 실행되는 서비스도 있습니다. LaunchDaemons시스템 시작 시 실행되지만 UI 상호 작용에 대한 액세스 권한은 와 동일하지 않습니다 LaunchAgents. Runner의 서비스를 로 실행할 수 LaunchDaemon있지만 이 작동 모드는 현재 지원되지 않습니다.

install파일을 확인하면 GitLab Runner가 명령어 실행 후 서비스 설정 파일을 생성했는지 확인할 수 있다 ~/Library/LaunchAgents/gitlab-runner.plist.

Homebrew를 사용하여 설치했다면 다음을 포함하는 파일 git이 추가되었을 수 있습니다 ./usr/local/etc/gitconfig

[credential]
    helper = osxkeychain
    

이렇게 하면 Git이 키체인에 사용자 자격 증명을 캐시하도록 지시하는데, 이는 원하는 것이 아닐 수 있으며 가져오기가 중단될 수 있습니다. 다음을 사용 하여 시스템에서 라인을 제거할 수 있습니다 gitconfig .

git config --system --unset credential.helper
    

credential.helper또는 GitLab 사용자에 대해 비활성화할 수 있습니다 .

git config --global --add credential.helper ''
    

다음으로 상태를 확인할 수 있습니다 credential.helper.

git config credential.helper
    

수동 업데이트

  1. 서비스 중지:
  2. gitlab-runner stop
          
  3. 바이너리를 다운로드하여 GitLab Runner 실행 파일을 교체하십시오.Bleeding Edge 에 설명된 대로 사용 가능한 모든 버전에 대한 바이너리를 다운로드할 수 있습니다 . 다른 태그가 있는 릴리스 다운로드 .
  4. sudo curl -o /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64"
          
  5. 실행할 권한을 부여합니다.
  6. sudo chmod +x /usr/local/bin/gitlab-runner
          
  7. 서비스 시작:
  8. gitlab-runner start
          

GitLab Runner와 관련된 가장 일반적인 문제에 대해 설명 하는 FAQ 섹션 을 반드시 읽으십시오 .

서비스 파일 업그레이드

구성 을 업그레이드 LaunchAgent하려면 서비스를 제거하고 설치해야 합니다.

gitlab-runner uninstall
    gitlab-runner install
    gitlab-runner start
    

GitLab Runner 서비스와 함께 코드 설계 사용

gitlab-runnerhomebrew 및 빌드 호출을 사용하여 macOS에 설치한 경우 사용자 키체인에 액세스할 수 codesign있도록 설정해야 할 수 있습니다 . <key>SessionCreate</key><true/>다음 예제에서는 사용자로 빌드를 실행하고 gitlab 코드 서명을 위해 해당 사용자가 설치한 서명 인증서에 액세스하려고 합니다.

<?xml version="1.0" encoding="UTF-8"?>
    http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>SessionCreate</key><true/>
    <key>KeepAlive</key>
    <dict>
    <key>SuccessfulExit</key>
    <false/>
    </dict>
    <key>RunAtLoad</key><true/>
    <key>Disabled</key><false/>
    <key>Label</key>
    <string>com.gitlab.gitlab-runner</string>
    <key>UserName</key>
    <string>gitlab</string>
    <key>GroupName</key>
    <string>staff</string>
    <key>ProgramArguments</key>
    <array>
    <string>/usr/local/opt/gitlab-runner/bin/gitlab-runner</string>
    <string>run</string>
    <string>--working-directory</string>
    <string>/Users/gitlab/gitlab-runner</string>
    <string>--config</string>
    <string>/Users/gitlab/gitlab-runner/config.toml</string>
    <string>--service</string>
    <string>gitlab-runner</string>
    <string>--syslog</string>
    </array>
    <key>EnvironmentVariables</key>
    <dict>
    <key>PATH</key>
    <string>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
    </dict>
    </dict>
    </plist>
    

macOS 문제 해결

다음은 macOS의 문제 해결과 관련이 있습니다.

"launchctl" failed: exit status 112, Could not find domain for

이 메시지는 macOS에 GitLab Runner를 설치하려고 할 때 발생할 수 있습니다. SSH 연결이 아닌 GUI 터미널 응용 프로그램에서 GitLab Runner 서비스를 관리하는지 확인하십시오.

Failed to authorize rights (0x1) with status: -60007.

macOS를 사용할 때 GitLab Runner가 위의 메시지에서 멈춘 경우 이러한 일이 발생하는 두 가지 원인이 있습니다.

  1. 사용자가 UI 상호 작용을 수행할 수 있는지 확인합니다.첫 번째 명령을 사용하면 사용자가 개발자 도구에 액세스할 수 있습니다. 두 번째 명령을 사용하면 개발자 그룹의 구성원인 사용자가 iOS 시뮬레이터를 실행하는 등 UI 상호 작용을 수행할 수 있습니다.
  2. DevToolsSecurity -enable
          sudo security authorizationdb remove system.privilege.taskport is-developer
          
  3. GitLab Runner 서비스가 SessionCreate = true. 이전에는 GitLab Runner를 서비스로 실행할 LaunchAgents때 SessionCreate. 그 시점( Mavericks )에서는 이것이 코드 서명을 작동시키는 유일한 솔루션이었습니다. 이 동작을 변경한 많은 새로운 보안 기능을 도입한 OS X El Capitan 으로 최근에 변경되었습니다 . GitLab Runner 1.1부터 를 생성할 때 LaunchAgent설정하지 않습니다 SessionCreate. 그러나 업그레이드하려면 LaunchAgent스크립트를 수동으로 다시 설치해야 합니다.~/Library/LaunchAgents/gitlab-runner.plist그런 다음 로 SessionCreate설정 되었는지 확인할 수 있습니다 false.
  4. gitlab-runner uninstall
          gitlab-runner install
          gitlab-runner start
          

fatal: unable to access 'https://path:3000/user/repo.git/': Failed to connect to path port 3000: Operation timed out 작업의 오류

이 오류와 함께 작업 중 하나가 실패하면 실행기가 GitLab 인스턴스에 연결할 수 있는지 확인하십시오. 다음과 같은 이유로 연결이 차단될 수 있습니다.

  • 방화벽
  • 프록시
  • 권한
  • 라우팅 구성

'GitLab_가이드' 카테고리의 다른 글

Community Edition을 Enterprise Edition으로 변환  (0) 2022.08.03
GNU/Linux에 GitLab Runner 수동 설치  (0) 2022.08.03
RBAC 지원 활성화  (0) 2022.08.03
GitLab 러너 투구 차트  (0) 2022.08.02
FreeBSD에 GitLab Runner 설치  (0) 2022.08.02