Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Implementando Gitlab pages

28/53
Recursos

Gitlab Pages nos otorga ciertas funcionalidades como:

  • Hosting estático para servir nuestro website.
  • Integración con Gitlab CI.
  • Dominios personalizados.

Aportes 24

Preguntas 10

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

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 😦

![](
a alguin le paso esto al publicarla

Vamos bien hasta el momento!, les dejo el link del repositorio a gitlab: Repositorio

Hoy siendo 25 de Febrero de 2022, intente de varias maneras pero no pude hacer este proyecto andar…

Ojala lo puedan actualizar…

https://devops1029.gitlab.io/angular/dom/

Me di de topes con un subgrupo que hice, hay que agregarlo en el href (╯°□°)╯︵ ┻━┻
Agregué ciertas cosas en distintas en:

  • Karma.conf.js
  • package.json
  • .gitlab-ci.yml
  • index.html

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!!!

https://wlensinas.gitlab.io/gitlab-ci/

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:

  • install
  • test
  • build
  • 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/proyectunlamtest/* ./public/
    artifacts:
    paths:
    - public
    environment:
    name: production
    only:
    - branches`

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.