nick_fields.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 se puede usar como un agente de Jenkins.
El rol crea un usuario ci
que se puede usar para ejecutar construcciones 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 Comandos de Xcode estén instaladas en la máquina de destino. Puedes encontrar todas las versiones disponibles en la Página de Descargas de Apple. También puedes instalar las Herramientas de Línea de Comandos de Xcode a través de la terminal usando:
xcode-select --install
Ten en cuenta que este comando requiere la entrada del usuario, por lo que no puedes ejecutarlo de forma remota (via ssh).
Debido a que el rol necesita configurar una clave ssh autorizada para el usuario ci que permite el inicio de sesión remoto, se necesita una clave ssh pública pre-generada y proporcionada 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 usuario ci
, uid y grupo que se crearán.
ci_user_public_key_location:
La ubicación de la clave ssh pública que se añadirá 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 adicionales de brew
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)
Forked Ansible role that installs common CI tools on OSX with arm64/M1 support
ansible-galaxy install nick_fields.osx_ci