macstadium.osx_ci
Ansible Rolle: OSX-CI
Installiert und konfiguriert Softwaretools, die für das Erstellen und Bereitstellen von OSX/iOS-Anwendungen benötigt werden. Der konfigurierte Mac kann als Jenkins-Agent verwendet werden.
Die Rolle erstellt einen ci-Benutzer
, der zum Ausführen von Builds auf dem Mac verwendet werden kann. Der Benutzer wird so konfiguriert, dass er sich remote über SSH anmelden kann.
Außerdem installiert es:
- Homebrew
- Node.js 10 LTS
- Java 8 - Jenkins-Anforderung. 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 Command Line Tools auf dem Zielrechner installiert sind. Alle verfügbaren Versionen finden Sie auf der Apple Downloads-Seite. Sie können die Xcode Command Line Tools auch über das Terminal mit folgendem Befehl installieren:
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 remote Anmeldungen ermöglicht, muss ein öffentlicher SSH-Schlüssel vorher generiert und der Rolle zur Verfügung gestellt werden.
Der öffentliche SSH-Schlüssel muss auf dem Rechner sein, 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. Dies ermöglicht die remote Anmeldung über SSH mit diesem Benutzer.
ci_user_default_keychain: login.keychain
ci_user_default_keychain_password:
Der Name und das Passwort des Standard-Schlüsselbunds, das 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
Autorinformationen
Diese Rolle wurde 2019 von MacStadium, Inc erstellt.
Wartende(s)
Ansible role that installs common CI tools on OSX
ansible-galaxy install macstadium.osx_ci