kenhuang.osx_ci
Rola Ansible: OSX-CI
Instaluje i konfiguruje narzędzia 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órego można używać do uruchamiania budów na maszynie Mac. Konfiguruje użytkownika tak, aby mógł logować się zdalnie za pomocą ssh. Instalowane są również:
- Homebrew
- Node.js 10 LTS
- Java 8 - wymóg Jenkinsa. Instalując Java 8, maszyna OSX może łatwo stać się agentem Jenkinsa.
- fastlane
- CocoaPods
Wymagania
Rola oczekuje, że narzędzia wiersza poleceń Xcode będą zainstalowane na docelowej maszynie. Możesz znaleźć wszystkie dostępne wersje na stronie pobierania Apple. Możesz również zainstalować narzędzia wiersza poleceń Xcode za pomocą terminala, wykonując polecenie:
xcode-select --install
Należy pamiętać, że to polecenie wymaga interakcji użytkownika, więc nie można go wykonać zdalnie (za pomocą ssh).
Ponieważ rola wymaga skonfigurowania autoryzowanego klucza ssh dla użytkownika ci umożliwiającego 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 i ich domyślne wartości są wymienione poniżej. Możesz znaleźć wszystkie domyślne zmienne 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 klucza publicznego ssh, który zostanie dodany do autoryzowanych kluczy użytkownika ci
. Pozwoli to na zdalne logowanie za pomocą ssh tym użytkownikiem.
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 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ładowy plik playbook
- 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(a)
Ansible role that installs common CI tools on OSX
ansible-galaxy install kenhuang.osx_ci