Introducción
Lo que aprenderás sobre DevOps con GitLab
¿Qué es Devops?
El ciclo de vida del Devops
Introducción a Gitlab
Gitlab vs Github
Administración
Autenticación
Grupos
Autorización
Auditoría
Proyectos
Planificación
Tipos de desarrollo
Planificación en Gitlab-Issues
Planificación en Gitlab-Etiquetas
Planificación en Gitlab-Pesos
Planificación en Gitlab-Milestones
Planificación en Gitlab-Boards
Planificación en Gitlab-Service Desk
Planificación en Gitlab-Quick actions
Verificación
Inicialización del repositorio
Merge requests
Profundizando en Merge requests
Continuous Integration-CI
Gitlab CI
Automatizacion con GitLab Cl
Validacion de la configuracion con GitLab Cl
gitlab-ci.yml
Gitlab pages
Implementando Gitlab pages
¿Qué es el Desarrollo Ágil?
Gitlab autodevops
Implementando GitLab autodevops
Habilitando autodevops
Empaquetación
Gitlab container registry
Introducción a contenedores
Seguridad
Introducción a DevSecOps
Firmas de seguridad
Pruebas estáticas de seguridad
Escaneo de contenedores
Escaneo de dependencias
Pruebas dinámicas de seguridad
Gitlab security dashboard
Distribución
Continuous Delivery (CD)
Ambientes
Review apps
Estrategias de Distribución
Feature Flags
Rollback
Monitoreo
¿Por qué monitorear?
Métricas de desempeño (performance metrics)
Métricas de salud (health metrics)
Metricas de equipo
Rastreo de errores
Conclusiones
¿Por qué desarrollar con Gitlab?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Comenzar un nuevo proyecto de Angular puede parecer un desafío, pero con la orientación adecuada, puedes dejar de ser un artesano del código y convertirte en un especialista, adoptando prácticas industriales y herramientas automáticas. Este enfoque te permitirá ser más eficiente y profesional. Aquí te mostramos cómo comenzar.
Crear un directorio: Nos dirigimos a la consola y creamos un nuevo directorio para nuestro proyecto.
mkdir PlatziAngular
cd PlatziAngular
Inicializar Angular: Para inicializar un proyecto de Angular, es fundamental tener Angular CLI instalado previamente. Luego, simplemente ejecutamos:
ng new platzi-devops
Este comando nos guiará a través de una serie de preguntas para personalizar el proyecto, como el uso de preprocesadores CSS como SASS.
Una vez instalado, revisamos que el ambiente de pruebas esté correcto. Angular ya tiene configurado un framework de pruebas para facilitar el desarrollo guiado por pruebas.
Verificar pruebas: Ejecutamos las pruebas para asegurarnos de que todo funcione correctamente.
ng test
Este comando reconstruirá el proyecto y verificará las pruebas existentes para asegurarnos de que el entorno esté listo para el desarrollo.
Iniciar el servidor de desarrollo: Para ver el proyecto en acción, simplemente ejecutamos:
ng serve
Luego, accedemos a nuestro navegador en http://localhost:4200
para ver el proyecto en funcionamiento.
La gestión de versiones es vital para trabajar de manera colaborativa y mantener el control sobre el código. Aquí se explica cómo conectar el proyecto con un repositorio Git.
Configurar Git: Primero, debemos configurar nuestro usuario y correo electrónico a nivel global para los commits.
git config --global user.name "Tu Nombre"
git config --global user.email "[email protected]"
Inicializar el repositorio y enviar los cambios: Si Angular ya ha creado un commit inicial, simplemente configuramos el origen remoto y enviamos nuestro código.
git remote add origin [email protected]:usuario/platzi-devops.git
git push -u origin master
Este proceso nos ayuda a establecer un flujo de trabajo ordenado y preparado para la colaboración con otros desarrolladores.
El desarrollo de software implica enfrentar y resolver problemas. Si encuentras dificultades al configurar o inicializar tu proyecto, es crucial buscar ayuda y continuar aprendiendo.
Continúa impulsando tu carrera en la programación y busca constantemente mejorar tus habilidades y conocimientos. ¡El mundo del desarrollo web es vasto y está lleno de oportunidades por descubrir!
Aportes 46
Preguntas 17
Para los que estamos en windows para instalar los gestores de paquetes:
Vamos a usar NodeJS y npm (gestor de paquetes y librerías)
Descargar versión LTS de https://nodejs.org/es/
Instalar con aceptar y continuar
Al terminar de instalar abrir una consola de cmd y escribir el comando
$ node –v $ npm –v
Para descargar el cli y poder usar el comando ng
$ npm install –g @angular/cli
Es necesario tener instalado NodeJS y Angular/CLI. Estos son los pasos para conseguirlo en Ubuntu:
$ sudo apt-get install python-software-properties
$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
$ sudo apt-get install nodejs
$ npm install -g @angular/cli
Obviamente antes de la clase habia que instalar Angular, npm, git. Detalles que no me gusto de la clase, utilizar material que de pronto otros no sabemos (Yo con angular ni idea)
Para aquellas personas que tiene el error de:
$ git push -u origin --all
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Utilicen este comando:
git config core.sshCommand “ssh -o IdentitiesOnly=yes -i ~/.ssh/private-key-filename-for-this-repository -F /dev/null”
A mí me sirvió, espero que si les sirva.
https://gitlab.com/help/ssh/README#locating-an-existing-ssh-key-pair
yo tuve que realizar primero lo siguiente:
git init
git status
git add .
git commit -am "mensaje"
git remote add origin "url"
git remote -v
git push origin master
y ahí funcinó.
Yo venía de usar Github y me acabo de dar cuenta que puedo gestionar el mismo proyecto en ambos repositorios. Lo único que hago es tener nombres diferentes para el origin.
Todos los videos anteriores estuvieron muy bien. En este, creo que se debe considerar agregar una lección más, donde se le explique a los estudiantes como instalar angular y posibles dependencias mínimas. Yo siempre trabajo con Vue y no conozco mucho de angular
Para los que no tengan conocimientos de como instalar Angular, les comparto este tutorial, siguiendo las instrucciones tendrán su equipo ambientado y listo para seguir con el curso.
Para instalar angular
npm install -g @angular/cli
En mi me solicitó el passphrase
.
Entonces al leer algunos comentarios de la comunidad use:
git config core.sshCommand "ssh -o IdentitiesOnly=yes -i ~/.ssh/<llave_creada_en_la_clase*> -F /dev/null"
La llave la pueden crear siguiendo este video:
[](https://platzi.com/clases/1526-gitlab/19276-autenticacion2093/
Pero no funcionó al refrescar gitlab entonces le agregue --all al hacer push:
git push -u origin --all
y listo! Subí mi proyecto de Flask.
Practicamente solo reemplace git push -u origin master
por git push -u origin --all
Estoy usando Ubuntu.
si les sale Command not found cuando ejecutan ng new platzi-devops, lo que deben hacer es antes instalar angular con el comando:
npm install -g @angular/cli@latest
Chicos! Si tienen problemas con el acceso cuando intenten hacer el push, pueden usar esta opción:
Cuando les pida el usuario, agregar el usuario normal que tienen en Gitlab
Cuando les pida la contraseña, generen un token de acceso de esta forma:
Después de investigar un buen rato antes de poder avanzar, encontré que en windows debo correr lo siguiente antes;
git config core.sshCommand “ssh -o IdentitiesOnly=yes -i ~/.ssh/data_rsa -F /dev/null”
Donde data_rsa es el nombre del archivo generado con la clave SSH.
Debe tenerse presente cual es el passphrase utilizado al generar el archivo
Creo que el menu es diferente ahora, no me fue posible encontrar ese menu debajo de proyectos donde estan “Detalles”
Hola, que debo tener instalado en mi mac para seguir el ejemplo que se muestra? Se que se trata de angular pero no estoy muy familiarizado y si alguien me podria colaborar diciendome que tendria que instalar se agradece! 😃
Pena que se olvidaran indicar la versión de Angular… voy buscándome el camino yo solo dado que Angular ha cambiado mucho.
Para los que tengan problemas en MacOS, con el comando:
git push -u origin --all
y les salga lo siguiente:
git@gitlab.com: Permission denied (publickey,keyboard-interactive).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Tienen que hacer lo siguiente:
ssh-add -K ~/.ssh/[your-private-key]
your-private-key: colocan la que NO tiene el .pub
~/.ssh/config
nano ~/.ssh/config
y ahora agregan:
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/[your-private-key]
y listo. Espero les sea de ayuda.
Para evitar el error:
error: src refspec master no concuerda con ninguno
error: falló el push de algunas referencias a
se puede escribir
git add .
git commit -m “Primer Commint Local”
antes de:
git push -uf origin main
En caso que les haya pasado que cuando querian hacer git push -uf origin y este les tiro un error:
! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://gitlab.com/working-test/platzi-devops.git'
les dejo unos pasos que me sirvieron, ya que ahora el branch main viene protegido por Gitlab:
Open your project > Settings > Repository and go to “Protected branches”, find “master” branch into the list and click “Unprotect” and try again.
yo lo hice con la url,
conecte con el repo remoto: git remote add origin https://gitlab.com/nombregrupo/nombreproyecto.git
me traje el readme que se creo automaticamente: git pull origin master
y cuando tuve todo hice el push: git push origin master
Dure mucho buscando los detalles de proyecto pero no me fue posible parece que ha cambiado el menu, no me fue posible realizar las dos ultimas partees del video.
Hola chicos! Para los que tienen Mac y no tienen instalado angular acá están los pasos que seguí yo:
Instalar brew (Es un gestor de paquetes que lo usan en muchas de las clases de varios cursos y es muy util)
Instalar node:
Instalar angular CLI
Nota: si desean instalar alguna version en especifico de angular CLI el comando es: npm install -g @angular/cli@VERSION
“Sean industriales” Capital humano, altamente desechable.
Tuve una dificulta y ha sido una de las dificultades que se me presentaban para poder hacer uso de Gitlab y es que al clonar el repositorio mi sistema no tiene permisos de HTTP para esto tuve que crear un token que me otorga los permisos necesarios. NOTA: el nombre del usuario y la contraseña serán los que se crean en el token, estos los debes almacenar en un lugar para que lo uses en otras instancias.
Les dejo una guía que me ayudo a entender mi problema https://stackoverflow.com/questions/47860772/gitlab-remote-http-basic-access-denied-and-fatal-authentication
Cuando inicien un proyecto desde cero les recomiendo primero crearlo en gitlab y después clonarlo.
Es mejor que iniciar un git local y después intentar subirlo. Cuando clonan del gitlab ya viene configurado.
Para subir a gitlab usando WSL Ubuntu 20.04
Si tienen problemas con
fatal: Could not read from remote repository.
al momento de hacer el git push
Usen lo siguiente
git config core.sshCommand "ssh -o IdentitiesOnly=yes -i ~/.ssh/private-key-filename-for-this-repository -F /dev/null"
Si luego tienen problemas con los permisos del archivo de la llave ssh
creen un archivo /etc/wsl.conf con el contenido
[automount]
enabled = true
root = /mnt/
options = "metadata,umask=22,fmask=11"
y reincien el PC
En mi caso particular le di el permiso chown 644 a las keys
Recien ahi me dejo subir a gitlab
Me guie de este enlace:
https://superuser.com/questions/1323645/unable-to-change-file-permissions-on-ubuntu-bash-for-windows-10
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
A alguien le sale este mismo error?.
Buenas noches, al momento de ingresar el nuevo origen me sale el siguiente error: fatal: not a git repository (or any of the parent directories): .git
Alguien sabe que puede ser?
Tenía varias llaves y no me dejó hacer el push. Con esto lo solucioné
git config core.sshCommand "ssh -o IdentitiesOnly=yes -i ~/.ssh/private-key-filename-for-this-repository -F /dev/null"
Se demora un poco, pero al final corre bien
git push -u origin --all
Esta clase me pareció útil ya que aprendí a generar claves SSH y asignarlas a proyectos en GITLab , anteriormente lo había hecho pero hasta ahora entendí bien el proceso completo. La consola también es fácil de manejar para crear los repositorios pero en mi caso prefiero hacerlo desde el IDE u alguna otra herramienta.
Todo ok.
otra pregunta tenemos que programar ? yo todavía no se angular ni express ni ruby ni nada de eso que hago ahora ?
cuando intento hacer el push me manda el siguiente error:
No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as ‘master’.
fatal: the remote end hung up unexpectedly
Everything up-to-date
HELP!!
git push -u origin --tags
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Casi no puedo, mi dificultad estaba en las llaves SSH, debí crar una nuevamente y luego si me funcionó
Para los que tuvieron el error de:
remote: HTTP Basic: Access denied
fatal: Authentication failed for ‘https://gitlab.com/group-name/project-name.git/’
Es porque estan intentando iniciar sesion con un usuario diferente les comento mi escenario(estuve intentando loguear con mi username y la contraseña del ssh lo que esta mal, en este escenario seria la ontraseña de gitlab directamente), el error esta en que si lo clonan como https les pedira autentificacion http Basic si quieren continuar asi tienen que crear un acces token con permisos para leer o escribir.
Para seguir como en el video clonen el repositorio como ssh y continuen los pasos, con la contraseña que pusieron en el ssh
en mi caso la única manera de solucionar fue haciendo el git remote por https y desahabilitando el Mfa
indeferente al lenguaje que se va ocupar pasar por entendido la instalación no corresponde
hasta hora la clase mas incompleta del curso.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?