macstadium.osx_ci
Rola Ansible: OSX-CI
Instaluje i konfiguruje narzędzia potrzebne do tworzenia i wdrażania aplikacji 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ł logować się zdalnie przez ssh. Instalowane są również:
- Homebrew
- Node.js 10 LTS
- Java 8 - wymaganie dla Jenkinsa. Instalacja Java 8 pozwala łatwo przekształcić maszynę OSX w agenta Jenkins.
- fastlane
- CocoaPods
Wymagania
Rola wymaga, aby na docelowej maszynie były zainstalowane narzędzia Xcode Command Line. Można znaleźć wszystkie dostępne wersje na stronie pobierania Apple. Można również zainstalować narzędzia Xcode Command Line za pomocą terminala, wykonując polecenie:
xcode-select --install
Uwaga: to polecenie wymaga inputu od użytkownika, więc nie można go wykonać zdalnie (przez ssh).
Ponieważ rola musi ustawić autoryzowany klucz ssh dla użytkownika ci, co umożliwi zdalne logowanie, klucz publiczny ssh musi być wcześniej wygenerowany i dostarczony do roli. Klucz publiczny ssh musi znajdować się na maszynie, która wykonuje
rolę.
Zmienne Roli
Zmienne roli oraz ich domyślne wartości są wymienione poniżej. Wszystkie domyślne zmienne można 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óry ma zostać utworzony.
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.
ci_user_default_keychain: login.keychain
ci_user_default_keychain_password:
Nazwa i hasło domyślnego łańcucha kluczy, który ma być utworzony dla użytkownika ci
.
cask_packages: ['java8']
Pakiety brew cask, które mają być zainstalowane.
ruby_gems: ['fastlane']
Pakiety ruby gems, które mają być zainstalowane 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
Ansible role that installs common CI tools on OSX
ansible-galaxy install macstadium.osx_ci