macstadium.osx_ci
Ansible Role: OSX-CI
Instala y configura herramientas de software necesarias para construir y desplegar aplicaciones de OSX/iOS. La Mac configurada puede ser utilizada como un agente de Jenkins.
El rol crea un ci user
que puede ser utilizado para ejecutar compilaciones en la máquina Mac. Configura al usuario para que pueda iniciar sesión de manera remota a través de ssh. También instala:
- Homebrew
- Node.js 10 LTS
- Java 8 - Requisito para 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 entrada del usuario, por lo que no puedes ejecutarlo de forma remota (a través de ssh).
Como el rol necesita configurar una clave ssh autorizada para el ci user
que permite el inicio de sesión remoto, se debe generar previamente una clave ssh pública y proporcionarla 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 del ci user
, uid y grupo a crear.
ci_user_public_key_location:
La ubicación de la clave pública ssh que se agregará a las claves autorizadas para el ci user
. Esto permitirá el inicio de sesión remoto con ssh utilizando ese usuario.
ci_user_default_keychain: login.keychain
ci_user_default_keychain_password:
El nombre y la contraseña de la llave predeterminada que se creará para el ci user
.
cask_packages: ['java8']
Los paquetes brew cask a instalar.
ruby_gems: ['fastlane']
Los gems de ruby que se instalarán a nivel global.
homebrew_packages:
Una lista de paquetes adicionales de brew
para instalar.
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 macstadium.osx_ci