kenhuang.osx_ci
Ansible-Rolle: OSX-CI
Installiert und konfiguriert Software-Tools, die für den Aufbau und das Bereitstellen von OSX/iOS-Anwendungen benötigt werden. Der konfigurierte Mac kann als Jenkins-Agent verwendet werden.
Die Rolle erstellt einen ci Benutzer
, der für das Ausführen von Builds auf dem Mac verwendet werden kann. Der Benutzer wird so konfiguriert, dass er sich remote über ssh einloggen kann.
Es werden auch folgende Softwarepakete installiert:
- Homebrew
- Node.js 10 LTS
- Java 8 - erforderlich für Jenkins. Durch die Installation von Java 8 kann der OSX-Rechner leicht zu einem Jenkins-Agent werden.
- fastlane
- CocoaPods
Anforderungen
Die Rolle erwartet, dass die Xcode-Befehlszeilentools auf dem Zielrechner installiert sind. Alle verfügbaren Versionen finden Sie auf der Apple-Downloadseite. Die Xcode-Befehlszeilentools können auch über das Terminal mit folgendem Befehl installiert werden:
xcode-select --install
Beachten Sie, dass dieser Befehl eine Benutzereingabe erfordert, sodass Sie ihn nicht remote (über ssh) ausführen können.
Da die Rolle einen autorisierten ssh-Schlüssel für den ci-Benutzer einrichten muss, der das Remote-Login ermöglicht, muss ein öffentlicher ssh-Schlüssel vorher generiert und der Rolle bereitgestellt werden.
Der öffentliche ssh-Schlüssel muss sich auf dem Rechner befinden, der die Rolle ausführt
.
Rollenvariablen
Die Rollenvariablen und ihre Standardwerte sind unten aufgeführt.
Alle Standardvariablen finden Sie in defaults/main.yml
ci_user: ci_user
ci_user_uid: 5013
ci_user_group: ci_user
Der Name, die UID und die Gruppe des zu erstellenden ci Benutzers
.
ci_user_public_key_location:
Der Speicherort des ssh öffentlichen Schlüssels, der zu den autorisierten Schlüsseln für den ci Benutzer
hinzugefügt wird. Damit wird das Remote-Login mit ssh für diesen Benutzer ermöglicht.
ci_user_default_keychain: login.keychain
ci_user_default_keychain_password:
Der Name und das Passwort des Standard-Schlüsselbunds, der für den ci Benutzer
erstellt werden soll.
cask_packages: ['java8']
Die brew cask Pakete, die installiert werden sollen.
ruby_gems: ['fastlane']
Die Ruby Gems, die global installiert werden sollen.
homebrew_packages:
Eine Liste zusätzlicher brew
-Pakete, die installiert werden sollen.
Abhängigkeiten
Keine.
Beispiel-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
Lizenz
Autor-Informationen
Diese Rolle wurde 2019 von MacStadium, Inc erstellt.