macOS에 GitLab Runner 설치
GitLab Runner는 macOS에 설치 및 업데이트할 수 있습니다.
설치 중
macOS에 GitLab Runner를 설치하는 방법에는 두 가지가 있습니다.
- 수동 설치 . 이 방법은 GitLab에서 공식적으로 지원하고 권장합니다.
- 홈브류 설치 . 수동 설치의 대안으로 Homebrew 와 함께 설치하십시오.
수동 설치(공식)
- 시스템용 바이너리를 다운로드하십시오.Bleeding Edge 에 설명된 대로 사용 가능한 모든 버전에 대한 바이너리를 다운로드할 수 있습니다 . 다른 태그가 있는 릴리스 다운로드 .
-
sudo curl --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64"
- 실행할 권한을 부여합니다.
-
sudo chmod +x /usr/local/bin/gitlab-runner
나머지 명령은 러너를 실행할 사용자로 실행해야 합니다.
- 주자 등록
-
macOS에서 iOS 또는 macOS 애플리케이션을 빌드할 때 셸 실행기를 사용합니다 . 빌드 및 테스트는 로그인한 사용자의 ID로 빌드 호스트에서 직접 실행됩니다. 컨테이너에서 실행되지 않습니다. 이것은 컨테이너 실행기를 사용하는 것보다 덜 안전합니다. 자세한 내용 은 이 시나리오에서 염두에 두어야 할 사항에 대한 자세한 내용은 보안 관련 문서 를 참조하십시오.
- 터미널을 열고 현재 사용자로 전환합니다.
-
su - <username>
- GitLab Runner를 서비스로 설치하고 시작합니다.
-
cd ~ gitlab-runner install gitlab-runner start
GitLab Runner가 설치되고 시스템 재부팅 후 실행됩니다.
홈브류 설치(대안)
GitLab을 설치하기 위해 Homebrew 공식을 사용할 수 있습니다 .
Homebrew를 사용하여 GitLab Runner를 설치하려면:
- GitLab 러너를 설치합니다.
-
brew install gitlab-runner
- GitLab Runner를 서비스로 설치하고 시작합니다.
-
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
수동 업데이트
- 서비스 중지:
-
gitlab-runner stop
- 바이너리를 다운로드하여 GitLab Runner 실행 파일을 교체하십시오.Bleeding Edge 에 설명된 대로 사용 가능한 모든 버전에 대한 바이너리를 다운로드할 수 있습니다 . 다른 태그가 있는 릴리스 다운로드 .
-
sudo curl -o /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64"
- 실행할 권한을 부여합니다.
-
sudo chmod +x /usr/local/bin/gitlab-runner
- 서비스 시작:
-
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가 위의 메시지에서 멈춘 경우 이러한 일이 발생하는 두 가지 원인이 있습니다.
- 사용자가 UI 상호 작용을 수행할 수 있는지 확인합니다.첫 번째 명령을 사용하면 사용자가 개발자 도구에 액세스할 수 있습니다. 두 번째 명령을 사용하면 개발자 그룹의 구성원인 사용자가 iOS 시뮬레이터를 실행하는 등 UI 상호 작용을 수행할 수 있습니다.
-
DevToolsSecurity -enable sudo security authorizationdb remove system.privilege.taskport is-developer
- 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.
-
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 |