kenhuang.osx_ci
Rôle Ansible : OSX-CI
Installe et configure les outils logiciels nécessaires à la construction et au déploiement d'applications OSX/iOS. La machine Mac configurée peut être utilisée comme un agent Jenkins.
Le rôle crée un utilisateur ci
qui peut être utilisé pour exécuter des constructions sur la machine Mac. Il configure l'utilisateur pour pouvoir se connecter à distance via ssh.
Il installe également :
- Homebrew
- Node.js 10 LTS
- Java 8 - requis par Jenkins. En installant Java 8, la machine OSX peut facilement devenir un agent Jenkins.
- fastlane
- CocoaPods
Exigences
Le rôle s'attend à ce que les outils de ligne de commande Xcode soient installés sur la machine cible. Vous pouvez trouver toutes les versions disponibles sur la page de téléchargements Apple. Vous pouvez également installer les outils de ligne de commande Xcode via le terminal en utilisant :
xcode-select --install
Notez que cette commande nécessite une interaction utilisateur, vous ne pouvez donc pas l'exécuter à distance (via ssh).
Parce que le rôle doit configurer une clé ssh autorisée pour l'utilisateur ci, permettant la connexion à distance, une clé ssh publique doit être pré-générée et fournie au rôle.
La clé publique ssh doit être sur la machine qui exécute
le rôle.
Variables du rôle
Les variables du rôle et leurs valeurs par défaut sont listées ci-dessous.
Vous pouvez trouver toutes les variables par défaut dans defaults/main.yml
ci_user: ci_user
ci_user_uid: 5013
ci_user_group: ci_user
Le nom de l'utilisateur ci
, son uid et le groupe à créer.
ci_user_public_key_location:
L'emplacement de la clé publique ssh qui sera ajoutée aux clés autorisées pour l'utilisateur ci
. Cela permettra une connexion à distance via ssh avec cet utilisateur.
ci_user_default_keychain: login.keychain
ci_user_default_keychain_password:
Le nom et le mot de passe du trousseau par défaut à créer pour l'utilisateur ci
.
cask_packages: ['java8']
Les paquets brew cask à installer.
ruby_gems: ['fastlane']
Les gems ruby à installer globalement.
homebrew_packages:
Une liste de paquets brew
supplémentaires à installer.
Dépendances
Aucune.
Exemple de 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
Licence
Informations sur l'auteur
Ce rôle a été créé en 2019 par MacStadium, Inc.