Creación de interconexiones Tekton para Mobile Foundation
improve this page | report issueMobile Foundation in Cloud Pak for Apps está empaquetado con las interconexiones Tekton para automatizar las tareas DevOps comunes relacionadas con Mobile Foundation.
Los pasos para desplegar Mobile Foundation on OpenShift Container Platform (OCP) son los mismos independientemente de cómo haya obtenido la titularidad de OCP.
Requisitos previos
A continuación se muestran los requisitos previos antes de iniciar el proceso de instalación de la instancia de Mobile Foundation Operator.
- La instancia de Cloud Pak For Apps con Mobile Foundation instalado.
- CLI de OpenShift (
oc
). - Tekton (disponible como parte de Cloud Pak for Apps)
Interconexiones Tekton
Las siguientes interconexiones Tekton están disponibles con Mobile Foundation on Cloud Pak for Apps.
- Mobile App Configuration Pipeline (mobile-app-registration-pipeline)
- Mobile App Build Pipeline for Android (mobile-app-build-android-pipeline)
- Mobile App Build Pipeline for iOS (mobile-app-build-ios-pipeline)
- Mobile App Distribution Pipeline (application-center-deploy)
- Mobile App Test Pipeline for Android (mobile-app-test-android-pipeline)
Pasos para ejecutar las interconexiones
- Descargue el proyecto PPA for Mobile Foundation.
- Extraiga el archivo
IBM-MobileFoundation-Openshift-Pak-<version>.tar.gz
. - Utilice
cd
para ir a la ubicación de la carpeta extraída - Inicie sesión en la instancia de Cloud Pak For Apps utilizando el mandato siguiente.
oc login --token=<señal_acceso> --server=<instancia_servicio>
NOTA: Asegúrese de que despliega las interconexiones en el espacio de nombres/proyecto predeterminado. Es posible que las interconexiones no se ejecuten en otros espacios de nombres debido a problemas.
Mobile App Configuration Pipeline
Ejecute el siguiente mandato.
oc apply -f pipeline/mobile-app-registration -n <projectname>
Se genera la salida siguiente.
pipelineresource.tekton.dev/mobile-app-registration-git-resource created
pipeline.tekton.dev/mobile-app-registration-pipeline created
task.tekton.dev/mobile-app-registration-task created
Mobile App Build Pipeline for Android
Ejecute el mandato siguiente para desplegar la interconexión
oc apply -f pipeline/mobile-app-build-android -n <projectname>
Se genera la salida siguiente.
pipelineresource.tekton.dev/mobile-app-build-android-git-sresource created
pipeline.tekton.dev/mobile-app-build-android-pipeline created
task.tekton.dev/mobile-app-build-android-task created
Mobile App Build Pipeline for iOS
Requisitos previos
Necesita tener una configuración de Xcode Server en una máquina Mac accesible públicamente. Consulte la sección Configuración del servidor Xcode para crear aplicaciones iOS.
Ejecute el mandato siguiente cuando haya cubierto el requisito previo.
oc apply -f pipeline/mobile-app-build-ios -n <projectname>
Se genera la salida siguiente.
pipeline.tekton.dev/mobile-app-build-ios-pipeline created
task.tekton.dev/mobile-app-build-ios-task created
pipelineresource.tekton.dev/mobile-app-build-ios-git-resource created
Mobile App Distribution Pipeline
Ejecute el siguiente mandato.
oc apply -f pipeline/mobile-app-publish -n <projectname>
Se genera la salida siguiente.
pipelineresource.tekton.dev/appcenter-git-resource created
pipeline.tekton.dev/application-center-deploy created
task.tekton.dev/application-center-upload created
Mobile App Test Pipeline for Android
Requisitos previos
Para ejecutar la interconexión de prueba de aplicación para android necesita tener una cuenta BitBar con la clave de API, ID de dispositivo, ID de infraestructura e ID de proyecto. ID.
Ejecute el siguiente mandato.
oc apply -f pipeline/mobile-app-test-android -n <projectname>
Se genera la salida siguiente.
pipelineresource.tekton.dev/mobile-app-test-android-git-resource created
pipeline.tekton.dev/mobile-app-test-android-pipeline created
task.tekton.dev/mobile-app-test-android-task created
Los mandatos anteriores crean tareas, interconexiones y recursos. Puede ver las tareas, los recursos y las interconexiones en el panel de control de Tekton
Ejecución de la interconexión con los recursos adecuados desde el panel de control de Tekton
- Edite el archivo de recursos con el URL de repositorio git adecuado de la aplicación.
pipeline/mobile-app-registration/appregistrationgitresource.yaml pipeline/mobile-app-build-android/ buildandoridgitresource.yaml pipeline/mobile-app-build-ios/ buildiosgitresource.yaml pipeline/mobile-app-publish/mobileapppublishgitresource.yaml pipeline/mobile-app-test-android/testandroidappgitresource.yaml
- Ejecute el mandato para actualizar los recursos de la interconexión Tekton mobile-app-registration.
oc apply -f pipeline/mobile-app-registration/appregistrationgitresource.yaml -n <projectname>
Se genera la salida siguiente.
pipelineresource.tekton.dev/mobile-app-registration-git-resource configured
- Ejecute el mandato para actualizar los recursos de la interconexión Tekton mobile-app-build-android.
oc apply -f pipeline/mobile-app-build-andorid/buildandoridgitresource -n <projectname>
Se genera la salida siguiente.
pipelineresource.tekton.dev/mobile-app-build-android-git-resource configured
- Ejecute el mandato para actualizar los recursos de la interconexión Tekton mobile-app-build-ios.
oc apply -f pipleline/mobile-app-build-ios/buildiosgitresource -n <projectname>
Se genera la salida siguiente.
pipelineresource.tekton.dev/mobile-app-build-ios-git-resource configured
- Ejecute el mandato para actualizar los recursos de la interconexión Tekton mobile-app-publish.
oc apply -f pipeline/mobile-app-publish/mobileapppublishgitresource.yaml -n <projectname>
Se genera la salida siguiente.
pipelineresource.tekton.dev/appcenter-git-resource configured
- Ejecute el mandato para actualizar los recursos de la interconexión Tekton mobile-app-test-android.
oc apply -f pipeline/mobile-app-test-android/testandroidappgitresource.yaml -n <projectname>
Se genera la salida siguiente.
pipelineresource.tekton.dev/mobile-app-test-android-git-resource configured
Ejecute las interconexiones utilizando PipelineRun
Abra el panel de control de Tekton y pulse la sección Interconexiones.
-
Pulse la interconexión que se ha de ejecutar.
-
Pulse Crear PipelineRun.
- Seleccione el git-source PipelineResources que ha creado anteriormente.
- Proporcione los parámetros necesarios y la cuenta de servicio como valor predeterminado.
- Pulse Crear PipelineRun.
- Para ver los registros y el estado de PipelineRun. Vaya al panel de control Tekton y seleccione PipelineRuns.
Despliegue de desencadenantes de tekton para webhooks
NOTA: Estos pasos solo son necesarios si desea utilizar Webhooks.
Configuración de desencadenantes de tekton para Build Pipeline for Android
Requisitos previos
Antes de utilizar los desencadenantes de tekton para la creación de android, debe añadir una github-token al archivo yaml de enlace de desencadenante. Vaya al archivo pipeline/android-pipeline-trigger/mfpandroidtriggerbinding.yaml
y edite el marcador {githubToken}
con un valor github-token válido.
Ejecute el siguiente mandato.
oc apply -f pipeline/android-pipeline-trigger -n <projectname>
Se genera la salida siguiente.
eventlistener.tekton.dev/mfp-android-webhook-listener created
route.route.openshift.io/mfp-android-webhook-route created
triggerbinding.tekton.dev/mfp-android-trigger-binding created
rolebinding.rbac.authorization.k8s.io/mfp-android-trigger-binding created
serviceaccount/mfp-android-triggers-sa created
triggertemplate.tekton.dev/mfp-android-trigger-template created
role.rbac.authorization.k8s.io/mfp-trigger-role created
Configuración de desencadenantes de tekton para Build Pipeline for iOS
Requisitos previos
Antes de utilizar los desencadenantes de tekton para ios, debe añadir el archivo yaml de enlaces de desencadenante. Vaya al archivo pipeline/ios-pipeline-trigger/mfpiostriggerbinding.yaml
y edite los siguientes parámetros {githubToken}
, {xcodeServerBotId}
y xcodeServerHost
con valores válidos.
Ejecute el siguiente mandato.
oc apply -f pipeline/ios-pipeline-trigger -n <projectname>
Se genera la salida siguiente.
eventlistener.tekton.dev/mfp-ios-webhook-listener created
route.route.openshift.io/mfp-ios-webhook-route created
triggerbinding.tekton.dev/mfp-ios-trigger-binding created
rolebinding.rbac.authorization.k8s.io/mfp-ios-trigger-binding created
serviceaccount/mfp-ios-triggers-sa created
triggertemplate.tekton.dev/mfp-ios-trigger-template created
Los mandatos anteriores crean EventListeners, TriggerBindings y TriggerTemplates a los que se puede acceder desde el panel de control de Tekton.
Expanda también dos rutas que se pueden utilizar para configurar webhooks. En el panel de Openshift, vaya a Redes y Rutas, una es para la creación de android y la otra es para la creación de iOS.
Desencadenamiento de interconexiones utilizando webhook
Ejecute la interconexión con webhook para desencadenar automáticamente PipelineRun cuando haya cambios en el repositorio git de la aplicación.
Creación de Webhooks
- Vaya al repositorio Git para el que desea configurar el webhook.
- Vaya al separador
Valores
del repositorio. - Pulse Webhooks en la barra de navegación izquierda y luego pulse
Añadir webhook
. - Proporcione el campo
URL de carga útil
con una de las rutas que se han creado durante la configuración de los desencadenantes de tekton. ElTipo de contenido
debe establecerse enapplication/json
y debe seleccionar el suceso en el que desea que se ejecute el webhook. - Pulse Añadir webhook
El suceso del repositorio git desencadenará la creación de una PipelineRun configurada para esta ruta. Para ver los registros y el estado de PipelineRun. Vaya al panel de control de Tekton y seleccione PipelineRuns.
Configuración del servidor XCode para crear aplicaciones iOS
- En una máquina Mac, configure Xcode.
- Abra Xcode.
- En la parte superior del menú, seleccione Xcode Server.
- Active Xcode Server para ejecutar las integraciones.
- Una vez activado el servidor, vaya a la sección Permisos y cambie la opción Crear y ver bots a
todos los usuarios
. - Vaya a la sección Cuentas y añada una nueva cuenta con el tipo de cuenta
Xcode Server
y, a continuación, seleccione el servidor que está disponible. - Una vez configurado Xcode Server, se ha de configurar el bot para ejecutar las integraciones y generar un
ipa
. Abra el proyecto iOS que desea crear en Xcode. - Vaya al registro de compilación del proyecto y seleccione la opción Por grupo. El servidor configurado deberá estar visible.
- Pulse con el botón derecho el servidor y pulse Crear bot.
- Asigne un nombre al bot y pulse Siguiente. Asegúrese de que el nombre de bot no contenga ningún espacio. Configure el control de origen para el bot y pulse Siguiente.
- En la configuración de compilación, bajo Acciones, asegúrese de que la opción Archive esté seleccionada. Bajo la opción Exportar, seleccione Utilizar plist de opciones de exportación personalizadas. Asegúrese de que tiene un archivo
plist
con el formato siguiente. - En la sección Planificar integraciones de bot, seleccione que las integraciones se ejecuten Manualmente y luego pulse Siguiente.
- Seleccione las opciones de compilación relevantes para el proyecto y pulse Siguiente.
- En las secciones Certificados y perfiles, asegúrese de que los certificados y perfiles relevantes para generar el
ipa
se añaden al servidor y pulse Siguiente. - Añada estos argumentos y proporcione los valores relevantes para el mandato xcodebuild en la sección Argumentos y variables de entorno y pulse Siguiente.
- En la sección Desencadenantes, pulse Añadir y seleccione Script previo a la integración, asígnele un nombre y añada el script siguiente a la sección del script que descarga las dependencias CocoaPod para la aplicación (si existen) y, a continuación, pulse Crear.
#!/bin/sh cd $XCS_PRIMARY_REPO_DIR PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands" . ~/.bash_profile bundle install npm install ionic cordova platform add ios ionic cordova prepare ios
- Una vez creado correctamente el bot, espere a que se ejecute la integración. Cuando la integración se haya ejecutado correctamente, vaya a la integración y vaya a Registros. En los registros deberá ver el botId. El botId es necesario para ejecutar las interacciones desde las interconexiones de Tekton.
- Ahora la configuración de Xcode Server se ha realizado correctamente. Utilice el ID de bot para desencadenar Build Pipeline for iOS.
Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.