Agregar nuevo contenido

Aprende a agregar contenido nuevo utilizando la interfaz de GitHub o desde tu editor de código.

Para contribuir con nuevas páginas de contenido o mejorar las páginas de contenido existentes, abre un Pull Request (PR):

  • Si tu cambio es pequeño, o no estás familiarizado con Git, lee Editar con GitHub para aprender a editar la página desde la interfaz de GitHub.
  • Si tu cambio es más complejo, lee Editar desde una rama local para aprender cómo realizar cambios desde tu editor de código.

La siguiente figura ilustra cómo contribuir con nueva documentación.

flowchart LR
    subgraph first[Cómo contribuir]
    direction TB
       T[ ] -.-
       B[Haz un fork al repo de GitHub] --- C[Escribe el nuevo contenido utilizando Markdown<br>y compila la página web en Hugo]
       C --- D[Sube tus cambios locales al Fork]
       D --- E[Abre un Pull Request]
       E --- F[Firma el CNCF CLA]
    end

classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px;
classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold
classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000
class A,B,C,D,E,F,G,H grey
class S,T spacewhite
class first,second white

Figura 1. Contribuyendo con nuevo contenido.

Editar con GitHub

Si no tienes mucha experiencia con Git, aquí tienes un método más sencillo para abrir un Pull Request. La Figura 2 describe los pasos y los detalles a continuación.

flowchart LR
A([fa:fa-user Nuevo<br>Contribuyente]) --- id1[(open-telemetry/opentelemetry.io<br>GitHub)]
subgraph tasks[Editando en GitHub]
direction TB
    0[ ] -.-
    1[Edita esta página] --> 2[Usa el editor de markdown en GitHub<br>para hacer tus cambios]
    2 --> 3[Agrega tus propuesta de cambios]

end
subgraph tasks2[ ]
direction TB
4[Selecciona los archivos a cambiar] --> 5[Haz click en Crear Pull Request] --> 6[Llena los cambios en Abriendo un Pull Request]
6 --> 7[Haz click en Crear pull request]
end

id1 --> tasks --> tasks2

classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px;
classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold
classDef k8s fill:#326ce5,stroke:#fff,stroke-width:1px,color:#fff;
classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000
class A,1,2,3,4,5,6,7 grey
class 0 spacewhite
class tasks,tasks2 white
class id1 k8s

Figura 2. Pasos para abrir un Pull Request desde GitHub.

  1. En la página de la tarea en GitHub, selecciona Editar esta página en el panel de navegación en la derecha.

  2. Si no eres miembro de este proyecto, puedes hacer fork al repositorio de GitHub. Selecciona Fork.

  3. Haz tus cambios desde el editor de GitHub.

  4. Llena el formulario de Subir cambios.

  5. Selecciona Proponer cambios.

  6. Selecciona Crear pull request.

  7. Cuando la pantalla de Abrir un pull request aparezca. Agrega una descripción para que los supervisores puedan comprender tus cambios.

  8. Selecciona Crear pull request.

Antes de hacer merge de tus cambios, Los miembros de la comunidad de OpenTelemetry harán revisión de tus cambios y los aprobarán.

Si un miembro te pide hacer cambios:

  1. Ve a la pestaña de Archivos cambiados.
  2. Selecciona el icono del lápiz (Editar) en cualquiera de los archivos cambiados en tu pull request.
  3. Haz los cambios solicitados. Si hay alguna sugerencia de código, aplícala.
  4. Haz commit de tus cambios.

Cuando la revisión a terminado, un miembro de la comunidad hará merge de tu pull request y tus cambios estarán disponibles al público en algunos minutos.

Editar desde una rama local

Si eres un usuario más experimentado con Git, o tus cambios afectan varios archivos a la vez, trabaja desde una rama local.

Asegúrate de que tienes Git instalado en tu computadora. También puedes usar una interfaz gráfica de Git.

La figura 3 muestra los pasos a seguir cuando se trabaja desde una rama local. A continuación se detallan los pasos.

flowchart LR
1[Haz fork del repositorio <br>open-telemetry/opentelemetry] --> 2[Crea una rama local<br>y agrega el remote upstream]
subgraph changes[Tus cambios]
direction TB
S[ ] -.-
3[Crea una rama<br>ejemplo: mi_nueva_rama] --> 3a[Haz los cambios<br>en un editor de texto] --> 4["Revisa tus cambios<br>localmente usando Hugo<br>(localhost:1313)"]
end
subgraph changes2[Haz Commit / Push]
direction TB
T[ ] -.-
5[Haz commit de tus cambios] --> 6[Haz push de tus cambios<br>origin/mi_nueva_rama]
end

2 --> changes --> changes2

classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px;
classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold
classDef k8s fill:#326ce5,stroke:#fff,stroke-width:1px,color:#fff;
classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000
class 1,2,3,3a,4,5,6 grey
class S,T spacewhite
class changes,changes2 white

Figura 3. Trabajando desde una rama local para hacer cambios.

Haz fork al repositorio de opentelemetry.io

  1. Navega al repositorio opentelemetry.io .
  2. Selecciona Fork.

Crea un clon local y agrega el upstream

  1. En tu terminal, clona tu fork y instala las dependencias:

    git clone git@github.com:<your_github_username>/opentelemetry.io.git
    cd opentelemetry.io
    npm install
    
  2. Coloca el repositorio de open-telemetry/opentelemetry.io como el upstream remote:

    git remote add upstream https://github.com/open-telemetry/opentelemetry.io.git
    
  3. Confirma los valores de los remotes origin y upstream:

    git remote -v
    

    La salida debe ser similar a:

    origin	git@github.com:<your_github_username>/opentelemetry.io.git (fetch)
    origin	git@github.com:<your_github_username>/opentelemetry.io.git (push)
    upstream	https://github.com/open-telemetry/opentelemetry.io.git (fetch)
    upstream	https://github.com/open-telemetry/opentelemetry.io.git (push)
    
  4. Actualiza los cambios de la rama origin/main en tu fork y la rama upstream/main del repositorio original open-telemetry/opentelemetry.io:

    git fetch origin
    git fetch upstream
    

Esto se asegura de que tu repositorio local está actualizado antes de que empieces a hacer tus cambios localmente. Realiza esto frecuentemente para mantener tu copia local sincronizada con la versión en el repositorio original.

Crea una rama

  1. Crea una rama. Este ejemplo asume que tomaremos de referencia la rama upstream/main:

    git checkout -b <mi_nueva_rama> upstream/main
    
  2. Haz tus cambios en tu editor de código favorito.

Usa el comando git status con regularidad para visualizar los archivos que has cambiado.

Haz commit de tus cambios

Cuando estás listo para subir tu pull request, haz commit de tus cambios.

  1. En tu repositorio local, revisa los cambios que quieres subir a GitHub:

    git status
    

    La salida debe ser similar a:

    On branch <mi_nueva_rama>
    Your branch is up to date with 'origin/<mi_nueva_rama>'.
    
    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git checkout -- <file>..." to discard changes in working directory)
    
    modified:   content/en/docs/nombre_de_tu_archivo.md
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
  2. Agrega los archivos listados debajo de Changes not staged for commit al commit:

    git add <nombre_de_tu_archivo>
    

    Repite esto para cada uno de los archivos a subir.

  3. Luego de modificar todos los archivos, crea un commit:

    git commit -m "Mensaje de tu commit"
    
  4. Sube los cambios a tu rama local:

    git push origin <mi_nueva_rama>
    
  5. Una vez tus cambios fueron subidos, GitHub te notifica si quieres crear un Pull Request (PR) de tus cambios.

Abrir un Pull Request de tu Fork

La Figura 4 muestra los pasos para abrir un PR desde tu rama a opentelemetry.io.

flowchart LR
subgraph first[ ]
direction TB
1[Abre el repositorio opentelemetry.io] --> 2[Haz click en nuevo Pull Request]
2 --> 3[Haz click en comparar entre forks]
3 --> 4[Selecciona tu fork <br>desde el drop-down]
end
subgraph second [ ]
direction TB
5[Selleciona tu rama desde<br>el menu de comparación] --> 6[Haz click en crear nuevo Pull Request]
6 --> 7[Agrega una descripción<br>a tu PR]
7 --> 8[Haz click en crear pull request]
end

first --> second

classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px;
classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold
class 1,2,3,4,5,6,7,8 grey
class first,second white

_Figura 4. Pasos para abrir un PR desde tu fork a opentelemetry.io.

  1. En un navegador web, ve al repositorio opentelemetry.io .

  2. Selecciona Nuevo Pull Request.

  3. Selecciona Comparar ramas.

  4. En el menú desplegable repositorio principal, selecciona su rama.

  5. En el menú desplegable Comparar, selecciona tu rama.

  6. Selecciona Crear Pull Request.

  7. Agrega una descripción para tu pull request:

    • Título (50 caracteres o menos): Resume la intención del cambio.

    • Descripción: Describe el cambio con más detalle.

    • Si hay un problema de GitHub relacionado, incluye Fixes #12345 o Closes #12345 en la descripción para que la automatización de GitHub cierre el problema mencionado después de fusionar el PR. Si hay otros PR relacionados, vincúlalos también.

    • Si quieres asesoramiento sobre algo específico, incluye cualquier pregunta que te gustaría que los miembros consideren en tu descripción.

1 Haz click en el botón Crear pull request.

Tu pull request estará disponible en pull Requests.

Después de abrir un PR, GitHub ejecuta pruebas automatizadas e intenta implementar una vista previa usando Netlify.

  • Si la compilación de Netlify falla, selecciona Detalles para obtener más información.
  • Si la compilación de Netlify se realiza correctamente, selecciona Detalles para abrir una versión preparada del sitio web de OpenTelemetry con los cambios aplicados. Así es como los revisores verifican sus cambios.

También pueden fallar otras comprobaciones. Consulta la lista de todas las comprobaciones de PR.

Soluciona problemas de contenido automáticamente

Antes de enviar un cambio al repositorio, ejecuta el siguiente comando y (i) aborda los problemas informados, (ii) confirma los archivos modificados por el script:

npm run test-and-fix

Para probar y solucionar por separado todos los problemas con tus archivos, ejecuta:

npm run test    # Checks but does not update any files
npm run fix:all # May update files

Para enumerar los scripts NPM disponibles, ejecuta npm run. Consulta los Pre-requisitos de PR para obtener más información sobre las verificaciones de los Pull Request y cómo solucionar errores automáticamente.

Obtén una vista previa de tus cambios localmente

Obtén una vista previa de tus cambios localmente antes de enviarlos o abrir un pull request. Una vista previa te permite detectar errores de compilación o problemas de formato de Markdown.

Para crear y servir el sitio localmente con Hugo, ejecuta el siguiente comando:

npm run serve

Navega a http://localhost:1313 en su navegador web para ver la vista previa local. Hugo observa los cambios y reconstruye el sitio según sea necesario.

Para detener la instancia local de Hugo, vuelve a la terminal y escriba Ctrl+C, o cierre la ventana de la terminal.

Implementaciones del sitio y vistas previas de PR

Si envías una PR, Netlify crea una Vista Previa de Implementación para que puedas revisar sus cambios. Una vez que se fusiona su PR, Netlify implementa el sitio actualizado en el servidor de producción.

Nota: Las vistas previas de PR incluyen páginas de borrador, pero las compilaciones de producción no.

Para ver los registros de implementación y más, visita el Panel de Control del proyecto. Se requiere inicio de sesión en Netlify.

Pautas de PR

Antes de fusionar un PR, a veces se requieren algunas iteraciones de revisión y edición. Para ayudarnos a nosotros y a ti mismo a hacer que este proceso sea lo más sencillo posible, te pedimos que respetes lo siguiente:

  • Si su PR no es una solución rápida, entonces trabaja desde una copia: selecciona el botón Fork en la parte superior del repositorio y clone el repositorio localmente. Cuando esté listo, genere un PR al repositorio original.
  • No trabajes desde la rama main de su fork: crea una rama específica para el PR.
  • Asegúrate de que los mantenedores tengan permiso para aplicar cambios a tu solicitud de incorporación de cambios.

Cambios de los revisores

A veces, los revisores suben cambios en tu pull request. Antes de realizar cualquier otro cambio, actualiza tu rama.

  1. Actualiza los commits de tu fork y haz rebase de tu rama actual:

    git fetch origin
    git rebase origin/<nombre-de-tu-rama>
    
  2. Luego de hacer rebase, sube tus nuevos cambios a tu fork:

    git push --force-with-lease origin <nombre-de-tu-rama>
    

También puedes resolver conflictos de fusión desde la interfaz de usuario de GitHub.

Conflictos en ramas y git rebase

Si otro colaborador realiza cambios en el mismo archivo en otro pull request, puedes crear un merge. Es tu responsabilidad resolver todos los conflictos en tu Pull Request.

  1. Actualiza tu fork y haz git rebase de tu rama local:

    git fetch origin
    git rebase origin/<nombre-de-tu-rama>
    

    Luego haz force-push de tus cambios a tu fork:

    git push --force-with-lease origin <nombre-de-tu-rama>
    
  2. Actualiza los cambios de la rama upstream/main en open-telemetry/opentelemetry.io y haz git rebase a tu rama actual:

    git fetch upstream
    git rebase upstream/main
    
  3. Inspecciona los resultados del git rebase:

    git status
    

    Esto indicará la cantidad de archivos marcados con conflictos.

  4. Abra cada archivo en conflicto y busque los marcadores de conflicto: >>>, <<<, y ===. Resuelva el conflicto y elimine el marcador de conflicto.

Para obtener más información, consulta Cómo se presentan los conflictos.

  1. Agrega los archivos al conjunto de cambios:

    git add <filename>
    
  2. Haz force push de los cambios en tu rama a tu fork:

    git push --force-with-lease origin <nombre-de-tu-rama>
    

    El pull request ya no muestra ningún conflicto.

Requisitos para hacer merge

Los pull request se hacen merge cuando cumplen con los siguientes criterios:

  • Todas las revisiones realizadas por aprobadores, mantenedores, miembros del comité técnico o expertos en la materia tienen el estado “Aprobado”.
  • No hay conversaciones sin resolver.
  • Aprobado por al menos un aprobador.
  • No hay comprobaciones de PR fallidas.
  • La rama de PR está actualizada con la rama base.

Importante

No te preocupes demasiado por las comprobaciones de PR fallidas. Los miembros de la comunidad te ayudarán a solucionarlas, ya sea proporcionándote instrucciones sobre cómo solucionarlas o solucionándolas en tu nombre.