nick_fields.osx_ci
Ansible Rola: OSX-CI
Instaluje i konfiguruje narzędzia programowe potrzebne do budowania i wdrażania aplikacji na OSX/iOS. Skonfigurowana maszyna Mac może być używana jako agent Jenkins.
Rola tworzy użytkownika ci
, który może być używany do uruchamiania budów na maszynie Mac. Konfiguruje użytkownika, aby mógł zdalnie logować się przez ssh.
Instaluje również:
- Homebrew
- Node.js 10 LTS
- Java 8 - wymaganie dla Jenkinsa. Instalując Java 8, maszyna OSX może łatwo stać się agentem Jenkinsa.
- fastlane
- CocoaPods
Wymagania
Rola wymaga, aby na docelowej maszynie zainstalowane były Narzędzia linii poleceń Xcode. Możesz znaleźć wszystkie dostępne wersje na stronie Pobieranie Apple. Możesz także zainstalować Narzędzia linii poleceń Xcode za pomocą terminala, używając:
xcode-select --install
Zauważ, że komenda ta wymaga interakcji użytkownika, więc nie możesz jej wykonać zdalnie (przez ssh).
Ponieważ rola musi skonfigurować autoryzowany klucz ssh dla użytkownika ci, który umożliwia zdalne logowanie, publiczny klucz ssh musi być wcześniej wygenerowany i przekazany do roli. Publiczny klucz ssh musi znajdować się na maszynie, która 'wykonuje' rolę.
Zmienne Roli
Zmienne roli i ich domyślne wartości są wymienione poniżej.
Wszystkie domyślne zmienne możesz znaleźć w defaults/main.yml
ci_user: ci_user
ci_user_uid: 5013
ci_user_group: ci_user
Nazwa, uid i grupa użytkownika ci
, które mają zostać utworzone.
ci_user_public_key_location:
Lokalizacja publicznego klucza ssh, który zostanie dodany do autoryzowanych kluczy dla użytkownika ci
. To umożliwi zdalne logowanie przez ssh tym użytkownikiem.
ci_user_default_keychain: login.keychain
ci_user_default_keychain_password:
Nazwa i hasło domyślnego sejfu, który ma być utworzony dla użytkownika ci
.
cask_packages: ['java8']
Pakiety brew cask do zainstalowania.
ruby_gems: ['fastlane']
Pakiety ruby gems do zainstalowania globalnie.
homebrew_packages:
Lista dodatkowych pakietów brew
do zainstalowania.
Zależności
Brak.
Przykład Playbooka
- hosts: localhost
vars:
homebrew_packages: ['git']
ci_user_public_key_location: '/path/to/public_key'
ci_user_default_keychain_password: 'keychain_pass'
roles:
- osx-ci
Licencja
Informacje o autorze
Ta rola została stworzona w 2019 roku przez MacStadium, Inc.
Utrzymujący
Forked Ansible role that installs common CI tools on OSX with arm64/M1 support
ansible-galaxy install nick_fields.osx_ci