Integración con GitHub
Open Build Service de openSUSE puede interactuar con GitHub, obteniendo y compilando el código fuente de cada commit o cada nueva publicación de versión o tag.
1. Cree una cuenta en GitHub.
2. Cree un repositorio (su aplicación): GitHub > Dashboard > + > New repository.
Repository name: mauimusic
Marque: Add a README file
Eliga una licencia
3. Clone su repositorio en su carpeta de desarrollo. Si ya tiene un código preexistente haga copia del contenido a la nueva carpeta clonada:
4. Instale y haga login en GitHub:
Seleccione:
GitHub.com > HTTPS > Autenticate Git with your GitHub credentials > Login with a web browser.
Copie el código de autenticación.
Presione tecla Enter.
Ingrese usuario y contraseña de GitHub
Pege el código de autenticación.
Clic botón Authorize github.
Configure su correo y nombre:
5. Haga su primer commit con el nuevo contenido:
Para el segundo y siguientes commits:
6. Cree el token de acceso a GitHub.
GitHub > Dashboard > pulse sobre la imagen de perfil (superior derecha) > Settings > Developer settings > Personal access tokens > Tokens (classic) > Generate new token (classic)
Note: GitHub Token
Expiration: No expiration
Scopes: todos
Generate token
Copie el nuevo token. No podrá verlo de nuevo, por lo que debe guardarlo.
7. Cree un token en Open Build Service.
Your Home Project > pulse sobre la imagen de perfil (superior derecha) > Your profile > Manage Your Tokens > Create Token >
Type: workflow
Description: OBS Personal Access Token
SCM Token: pega el token de GitHub obtenido en el punto 6.
Path for Workflows Configuration File (no modificar): .obs/workflows.yml
Create
Apunte su OBS Personal Access Token:
Secret: Copie y guarde.
Token trigger url: Copie y guarde.
8. Cree en GitHub un webhook para su aplicación.
Seleccione:
GitHub > click sobre imagen de perfil (superior derecha) > Your repositories > su aplicación (mauimusic)
De las opciones superiores (code, Issues, Pull requests...) seleccione: Settings > Webhooks > Add webhook
Payload URL: Pegar su "Token trigger url" del punto 7.
Content type: application json
Secret: Pegar su "Secret" del punto 7.
Seleccione: Send me everything.
Add webhook.
9. Crear .obs/workflows.yml
Abra la página de código de su aplicación (mauimusic): Selecciones Code o click sobre imagen de perfil (superior derecha) > Your repositories > su aplicación (mauimusic).
Add file > Create new file
Pegar en la caja de texto "mauimusic/Name your file". Sustituya Name your file por: .obs/workflows.yml
Creará la carpeta oculta ".obs" y el archivo workflows.yml a la vez.
Incluya como contenido de workflows.yml:
En el archivo anterior se ha incluido:
rebuild_master: para compilar cada commit en subproyecto1 y paquete mauimusic.
workflow: para compilar cada nueva publicación de versión o tag de su aplicación en subproyecto2 y paquete mauimusic.
Haga clic en Commit changes > Commit changes.
10. Descarge los cambios a su carpeta local:
11. Para compilar cada commit:
Si no lo ha hecho, cree su paquete subproyecto1 > su paquete.
Paquete > Add an empty file or service > File URL e indique la URL de cualquier archivo online. Es necesario para crear un servicio (fichero _service) válido. Por ejemplo, File URL: https://invent.kde.org/maui/mauikit/-/archive/master/mauikit-master.tar.gz
Abra Subproyecto1 > Paquete > _service e incluya:
Sustituya user y mauimusic.
Añada mauimusic.spec o supaquete.spec
Para actualizar:
Open Build Service > Subproyecto > Paquete > Trigger services
12. Para compilar cada nueva versión o tag de su aplicación:
Para publicar una nueva versión en GitHub:
Crear Subproyecto2 > su paquete > _service como en el punto 11 e incluir:
Para actualizar:
Open Build Service > Subproyecto > Paquete > Trigger service
Last updated