Gitlab Proyectos

De Wiki
Saltar a: navegación, buscar

Menú principal que aparece cuando entramos por primera vez a Gitlab después de registrarse.

Menu principal

Roles[editar | editar código]

Además, para poder entender como trabajar dentro de gitlab, debemos entender el papel de los roles dentro de los proyectos.

Rol Descripción
Owner Creador y propietario del proyecto.
Reporter Usuario que no puede desarrollar código, pero si hacer labores más transcendentales como reportar bugs, añadir etiquetas y controlarlas... es decir,

controlar el entorno del proyecto.

Developer Usuario desarrollador de código, es el puesto más común para los proyectos. Este usuario crea y añade trozos al código que posteriormente pedirá añadir

al principal con un "merge request", petición de unión de su código al principal.

Maintainer Usuario con poderes muy parecidos al Owner, este puede hacer todo lo mismo que el Owner pero sin la capacidad de eliminar el proyecto.

Este usuario puede tomar decisiones y aceptar peticiones de usuarios para añadir código.

Guest Usuario que solo puede ver el proyecto y leerlo. Así mismo tiene la capacidad para reportar problemas, comentar... se explica más en la tabla más abajo.

Tabla con detalles de lo que puede hacer cada rol de usuario concretamente.

Action Guest Reporter Developer Maintainer Owner
Create new issue ✓ 1
Create confidential issue ✓ 1
View confidential issues (✓) 2
Leave comments ✓ 1
See related issues
See a list of jobs ✓ 3
See a job log ✓ 3
Download and browse job artifacts ✓ 3
View wiki pages ✓ 1
Pull project code 1
Download project 1
Assign issues
Assign merge requests
Label issues
Label merge requests
Create code snippets
Manage issue tracker
Manage labels
See a commit status
See a container registry
See environments
See a list of merge requests
Manage related issues
Lock issue discussions
Lock merge request discussions
Create new environments
Stop environments
Manage/Accept merge requests
Create new merge request
Create new branches
Push to non-protected branches
Force push to non-protected branches
Remove non-protected branches
Add tags
Write a wiki
Cancel and retry jobs
Create or update commit status
Update a container registry
Remove a container registry image
Create/edit/delete project milestones
Use environment terminals
Add new team members
Push to protected branches
Enable/disable branch protection
Turn on/off protected branch push for devs
Enable/disable tag protections
Rewrite/remove Git tags
Edit project
Add deploy keys to project
Configure project hooks
Manage Runners
Manage job triggers
Manage variables
Manage GitLab Pages
Manage GitLab Pages domains and certificates
Remove GitLab Pages
Manage clusters
Edit comments (posted by any user)
Switch visibility level
Transfer project to another namespace
Remove project
Delete issues
Remove pages
Force push to protected branches 4
Remove protected branches 4
View project Audit Events
  1. On public and internal projects, all users are able to perform this action ↩
  2. Guest users can only view the confidential issues they created themselves ↩
  3. If Public pipelines is enabled in Project Settings > CI/CD ↩
  4. Not allowed for Guest, Reporter, Developer, Maintainer, or Owner ↩
  5. Only if the job was triggered by the user ↩
  6. Only if user is not external one ↩
  7. Only if user is a member of the project ↩

Estado de visibilidad de un proyecto[editar | editar código]

Además de los roles, los proyectos tienen una característica más muy importante. Esta es la visibilidad del proyecto, la cual, puede tomar tres opciones.

Estado visibilidad Descripción Ejemplo
Privado Proyecto solo visible para el Owner y todos aquellos a los que el mismo Owner les dé permisos. Proyecto personal donde queremos que un par de compañeros nos apoyen en el diseño del mismo.
Interno Proyecto visible para cualquier miembro que esté registrado dentro del Gitlab de gameboyzero.es. Todos tendrán por defecto asignado el rol de "Guest" y podrán clonar el repositorio. Proyecto privado que queremos que sea visible/descargable por la comunidad, pero donde queremos que los permisos de trabajo en el sean asignados por el "Owner" o "Maintainer".

Al mismo tiempo una ventaja de utilizar esto es que se pueden recibir peticiones para unirse al proyecto como desarrollador.

Público Proyecto visible para todo usuario que entre en el apartado https://gitlab.gameboyzero.es/explore/projects, no hace falta estar logueado. Proyecto que se quiere hacer público a todo usuario de Internet. Igualmente el "Owner" y el "Maintainer" son los que gestionan los permismos

Grupos de proyectos[editar | editar código]

Los grupos sirven para tener unos roles asignados de base. Para poder crear un Grupo de proyecto se debe hablar con un miembro del Staff, una vez creado se asignarán los permisos adecuados al creador para que pueda gestionarlo. De forma que, siempre y cuando se suba un proyecto al grupo, todos los usuarios que pertenezcan al grupo recibirán los permisos que tienen asignados en el grupo para el proyecto en sí.

Esto es interesante cuando se tiene un "equipo de desarrollo conocido" y se quieren hacer proyectos sin tener que reasignar los permisos de nuevo desde cero.

Crear un proyecto[editar | editar código]

Si pulsamos en "Create a project" podemos acceder al menú de los proyectos. Aquí tenemos varias vertientes, podemos crear un proyecto personal o un proyecto bajo un grupo.

Proyecto personal[editar | editar código]

Si creamos un proyecto personal, en el mismo, siempre jugaremos el rol de "Owner".

Creación proyecto nuevo

Una vez aquí debemos añadir un nombre dentro del campo "Project name", que será el del proyecto en sí. Posteriormente hay que añadir una descripción formal al proyecto. En ese campo es recomendable poner una descripción resumida de lo que trata el proyecto.

Finalmente hay que asignar el "Visibility Level", el cual definirá el proyecto y su visibilidad.

Proyecto dentro de un grupo[editar | editar código]

Solo podremos acceder a este apartado si estamos dentro de un grupo con los poderes adecuados.

Explorar proyectos públicos[editar | editar código]

Una de la parte más potente del gitlab que hemos instalado es la capacidad de presentar proyectos públicamente a internet. Dándoles así visibilidad y entendimiento a la comunidad que quiera investigar. De esta forma se pueden publicar releases (cuando se quiere empacar el código final y dar la capacidad de instalar), wikis o dar la capacidad de clonarlo y añadir nuevos desarrolladores al proyecto.

Proyecto public

Aquí se ve un ejemplo de los proyectos públicos actualmente, esto irá cambiando a medida que avance la comunidad.