kenhuang.osx_ci
Rol de Ansible: OSX-CI
Instala y configura herramientas de software necesarias para construir y desplegar aplicaciones de OSX/iOS. La máquina Mac configurada puede ser utilizada como un agente de Jenkins.
El rol crea un usuario ci
que puede ser utilizado para ejecutar compilaciones en la máquina Mac. Configura al usuario para que pueda iniciar sesión de forma remota a través de ssh.
También instala:
- Homebrew
- Node.js 10 LTS
- Java 8 - Requisito de Jenkins. Al instalar Java 8, la máquina OSX puede convertirse fácilmente en un agente de Jenkins.
- fastlane
- CocoaPods
Requisitos
El rol espera que las Herramientas de Línea de Comando de Xcode estén instaladas en la máquina objetivo. Puedes encontrar todas las versiones disponibles en la Página de Descargas de Apple. También puedes instalar las Herramientas de Línea de Comando de Xcode a través de la terminal usando:
xcode-select --install
Ten en cuenta que este comando requiere interacción del usuario, por lo que no puedes ejecutarlo de forma remota (a través de ssh).
Dado que el rol necesita configurar una clave ssh autorizada para el usuario ci que permita el inicio de sesión remoto, se debe generar y proporcionar previamente una clave ssh pública al rol.
La clave ssh pública debe estar en la máquina que ejecuta
el rol.
Variables del Rol
Las variables del rol y sus valores predeterminados se enumeran a continuación.
Puedes encontrar todas las variables predeterminadas en defaults/main.yml
ci_user: ci_user
ci_user_uid: 5013
ci_user_group: ci_user
El nombre, uid y grupo del usuario ci
que se va a crear.
ci_user_public_key_location:
La ubicación de la clave ssh pública que se agregará a las claves autorizadas para el usuario ci
. Esto permitirá el inicio de sesión remoto con ssh con ese usuario.
ci_user_default_keychain: login.keychain
ci_user_default_keychain_password:
El nombre y la contraseña del llavero predeterminado que se creará para el usuario ci
.
cask_packages: ['java8']
Los paquetes de brew cask que se instalarán.
ruby_gems: ['fastlane']
Las gemas de ruby que se instalarán globalmente.
homebrew_packages:
Una lista de paquetes brew
adicionales que se instalarán.
Dependencias
Ninguna.
Ejemplo 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
Licencia
Información del Autor
Este rol fue creado en 2019 por MacStadium, Inc.
Mantenedor(es)
Ansible role that installs common CI tools on OSX
ansible-galaxy install kenhuang.osx_ci