Agregar nuevo contenido
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.
Consejo
Convierte tu Pull Request en borrador para indicar que el contenido aún no está listo para su revisión. Los miembros aún pueden comentar o realizar revisiones de alto nivel, aunque no revisarán el contenido en su totalidad hasta que indiques que ya no es un borrador.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.
En la página de la tarea en GitHub, selecciona Editar esta página en el panel de navegación en la derecha.
Si no eres miembro de este proyecto, puedes hacer fork al repositorio de GitHub. Selecciona Fork.
Haz tus cambios desde el editor de GitHub.
Llena el formulario de Subir cambios.
Selecciona Proponer cambios.
Selecciona Crear pull request.
Cuando la pantalla de Abrir un pull request aparezca. Agrega una descripción para que los supervisores puedan comprender tus cambios.
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:
- Ve a la pestaña de Archivos cambiados.
- Selecciona el icono del lápiz (Editar) en cualquiera de los archivos cambiados en tu pull request.
- Haz los cambios solicitados. Si hay alguna sugerencia de código, aplícala.
- 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.
Tip
Haz un comentario con/fix:format
en tu pull request para realizar una
revisión automática de formateo de tus cambios.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
- Navega al repositorio
opentelemetry.io
. - Selecciona Fork.
Crea un clon local y agrega el upstream
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
Coloca el repositorio de
open-telemetry/opentelemetry.io
como elupstream
remote:git remote add upstream https://github.com/open-telemetry/opentelemetry.io.git
Confirma los valores de los remotes
origin
yupstream
: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)
Actualiza los cambios de la rama
origin/main
en tu fork y la ramaupstream/main
del repositorio originalopen-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
Crea una rama. Este ejemplo asume que tomaremos de referencia la rama
upstream/main
:git checkout -b <mi_nueva_rama> upstream/main
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.
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")
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.
Luego de modificar todos los archivos, crea un commit:
git commit -m "Mensaje de tu commit"
Sube los cambios a tu rama local:
git push origin <mi_nueva_rama>
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.
En un navegador web, ve al repositorio
opentelemetry.io
.Selecciona Nuevo Pull Request.
Selecciona Comparar ramas.
En el menú desplegable repositorio principal, selecciona su rama.
En el menú desplegable Comparar, selecciona tu rama.
Selecciona Crear Pull Request.
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
oCloses #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.
Actualiza los commits de tu fork y haz rebase de tu rama actual:
git fetch origin git rebase origin/<nombre-de-tu-rama>
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.
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>
Actualiza los cambios de la rama
upstream/main
enopen-telemetry/opentelemetry.io
y haz git rebase a tu rama actual:git fetch upstream git rebase upstream/main
Inspecciona los resultados del git rebase:
git status
Esto indicará la cantidad de archivos marcados con conflictos.
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.
Agrega los archivos al conjunto de cambios:
git add <filename>
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.
Comentarios
¿Fue útil esta página?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!