Se podría optimizar el pipeline, dentro del mismo agregar una variable BASE_HREF=/platzi-devops/ y dentro del package.json hacer uso de esa variable adicionando el flag —base-href
ng build —base-href=$BASE_HREF
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?
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Gitlab Pages nos otorga ciertas funcionalidades como:
Aportes 24
Preguntas 10
Se podría optimizar el pipeline, dentro del mismo agregar una variable BASE_HREF=/platzi-devops/ y dentro del package.json hacer uso de esa variable adicionando el flag —base-href
ng build —base-href=$BASE_HREF
Comparto la configuración realizada
image: node:11.1.0
stages:
- install
- build
- test
- deploy
install-dependencies:
stage: install
script:
- npm install
artifacts:
expire_in: 1hr
paths:
- node_modules/
cache:
paths:
- node_modules/
test-apps:
stage: test
variables:
CHROME_BIN: google-chrome
dependencies:
- install-dependencies
before_script:
- apt-get update && apt-get install -y apt-transport-https
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
- sh -c 'echo "deb https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
- apt-get update && apt-get install -y google-chrome-stable
script:
- npm run test:ci
build-app:
stage: build
variables:
BUILD_CONFIGURATION: 'production'
dependencies:
- install-dependencies
script:
- npm run build
artifacts:
expire_in: 1hr
paths:
- dist/
pages:
stage: deploy
dependencies:
- build-app
script:
- mkdir public
- mv ./dist/nom-proyecto/* ./public/
artifacts:
paths:
- public
environment:
name: production
only:
- branches
A los que le aparezca el error 404, solo deben resolver el WIP status y luego mergear a Master. Una vez que el merge termine y el pipeline cumpla su ciclo podràn ver la pàgina de deployment de Angular correctamente
he configurado mi gitlab-ci para que haga deploy con firebase hosting. Quedo asi y solo hara deploy si hay cambios en master.
image: node:16.14.2
stages:
- install
- test
- deploy
install-dependencies:
stage: install
script:
- npm install
artifacts:
expire_in: 1hr
paths:
- node_modules/
cache:
paths:
- node_modules/
test-apps:
stage: test
variables:
CHROME_BIN: google-chrome
dependencies:
- install-dependencies
before_script:
- apt-get update && apt-get install -y apt-transport-https
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
- sh -c 'echo "deb https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
- apt-get update && apt-get install -y google-chrome-stable
script:
- npm run test:ci
deploy-functions:
stage: deploy
dependencies:
- install-dependencies
before_script:
- npm i -g firebase-tools
script:
- npm run build
- firebase deploy --token $FIREBASE_TOKEN
only:
refs:
- master
Esto ha sido genial !
En el caso que mi deploy sea en otro servidor como heroku, digital oceam, aws, azure, que cosas cambiaria …?
Buenas ¿Se puede usar Gitlab pages para deployar APIs (Backend)?
Puede ser que la pregunta sea temprano, pero ¿alguno a hecho un pipeline de este tipo pero a un servidor propio?
Tengo en el trabajo un gitlab community edition y algunos servidores windows server. Me gustaría poder automatizar el proceso de deployment, por lo menos, a testing. Hay un desarrollo donde se esta usando angular 9 y me gustaria desplegarlo mas automatizado.
Alguien lo hizo con django?
Tengo página de error 404, alguien tiene alguna idea de que puedo tener mal? https://gitlab.com/xergioalex-projects/my-gitlab-project.
Debería cargar aquí: https://xergioalex-projects.gitlab.io/my-gitlab-project/
Les ha pasado que al entrar a ver el log del job de install-dependencies se queda la pantalla cargando? No he podido ver ese log 😦
╯︵ ┻━┻
Agregué ciertas cosas en distintas en:
Tengo 2 consultas/problemas en lo que va del curso:
1- cuando voy a la page que se genero en gitlab, el navegador me muestra una pagina totalmente vacia, no hay error solo una pagina vacia.
2- cuando monto GITLAB, para tenerlo como self-hosted, en un ubuntu server, lo levanto sin problemas, pero por algun motivo me manda a la pagina ara blanquear contraseña de una, sin ingresar el usuario y cuando quiero poner la contraseña me dice que el usuario tiene que ser distinto de ‘vacio’, pero nunca me da la opcion de ingresarlo.
Me pueden ayudar, seguí los pasos que indicaron y todos los stage se ejecutan con exito, pero la aplicación no sale publicada en GitlabPage.
Este es el proyecto: https://gitlab.com/rex2002xp/ng-base-panel-control
gracias.
Me encanta esta magia! gracias crack!!!
Cuando usé only no me reconocía el job de pages, pero al cambiarlo de acuerdo a la documentación a la fecha si!
rules:
- if: '$CI_COMMIT_BRANCH != "master"'
Hola a todos,
Codigo del archivo .gitlab-ci.yml
`image: node:11.1.0
stages:
Modificacion del codigo del archivo package.json
"build": "ng build --configuration=$BUILD_CONFIGURATION"
Modificacion del codigo del archivo index.html se encuentra dentro del folder src
<base href="/<NombreProyecto/">
Espero que le ayude.
Saludos
A mi me aparecía el error 404, utilicé la recomendación de Sergio y luego de hacer el merge me apareció bien la página.
Hola a todos.
Tengo el siguiente problema, el Pipeline lleva mas de 10 minutos instalando las dependencias, alguna solución?
(
Buenas.
Alguien más tiene este error ? :
GET https://gitlab.com/users/sign_in net::ERR_ABORTED 503
No pude encontrar forma para solucionarlo.
Les comparto mi configuracion con TDD PHPUnit:
<
# Select image from https://hub.docker.com/_/php/
# https://gitlab.com/platzi-gitlab-live/platzi-autodevops
#image: php:latest
# Can I use .php pages and connect databases with my sites? = No. GitLab Pages hosts static websites only (HTML, CSS and JS).
image: php:7.3
stages:
- install
- test
- build
- deploy
# Select what we should cache between builds
cache:
paths:
- vendor/
before_script:
- echo "mostrando directorios..."
- ls -a
install-job:
stage: install
script:
# Install git, the php image doesn't have installed
- apt-get update
- apt-get install curl
# Install composer
- curl -s https://getcomposer.org/installer | php
- mv composer.phar /usr/local/bin/composer
# Install all project dependencies
- composer install
- composer require --dev phpunit/phpunit
- apt-get update
- composer dump-autoload
# We test PHP7 with MySQL, but we allow it to fail
test-job:
image: php:7.3
stage: test
script:
#RUN ONLY test/UserTest.php
- echo "Testing test/UserTest.php..."
- php ./vendor/phpunit/phpunit/phpunit test/UserTest.php --color
#RUN ALL TESTs IN TEST DIRECTORY
- echo "Testing All Test in /test/ folder..."
- php ./vendor/phpunit/phpunit/phpunit test --color
allow_failure: true
build-job:
stage: build
dependencies:
#valida que pasen los dos jobs anteriores
- install-job
- test-job
script:
- echo "Building App - Compiling if its needed..."
pages:
stage: deploy
dependencies:
#Exige que se corra primero build-job
- build-job
script:
#Creamos dir /public y pasamos los archivos del proyecto
- mkdir .public
- cp -r * .public
- mv .public public
artifacts:
paths:
# establecemos que directorio exportar para cargue en sus GLPages
- public
environment:
#Creamos entorno llamado produccion
name: production
only:
#Hacer esto solo en branches => generalmente se pone que solo se haga con master
#- master
- branches>
chicos tengo este problemas al momento de hacer test-apps alguien sabe cual es el motivo
<code>
02 05 2019 15:47:51.856:INFO [launcher]: Starting browser ChromeHeadless
02 05 2019 15:48:51.857:WARN [launcher]: ChromeHeadless have not captured in 60000 ms, killing.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.