nick_fields.osx_ci
Ansible Role: OSX-CI
Installe et configure les outils logiciels nécessaires pour construire et déployer des applications OSX/iOS. La machine Mac configurée peut être utilisée comme 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 - exigence de 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 en 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 d'Apple. Vous pouvez également installer les outils en ligne de commande Xcode via le terminal en utilisant :
xcode-select --install
Notez que cette commande nécessite une entrée utilisateur, donc vous ne pouvez pas l'exécuter à distance (via ssh).
Comme 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 de Rôle
Les variables de 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, l'uid et le groupe de l'utilisateur ci
à 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 avec 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.
Mainteneur(s)
Forked Ansible role that installs common CI tools on OSX with arm64/M1 support
ansible-galaxy install nick_fields.osx_ci