Un despliegue de dos VMs con Vagrant, una de ellas con una app web y la otra con un gitlab local con CI funcional. El proyecto está basado en el repositorio devops
- Version VirtualBox: 5.2-5.2.8_121009
- Version Vagrant: 2.0.3
- Version GitlabCI: GitLab Community Edition 10.6.4
- Version Runner CI: 10.6.0
- Instalar VirtualBox & Vagrant (si no están instalado ya)
- Clonar el repo gitlab-ci con
# git clone https://github.com/marcossv9/gitlab-ci
y colóquelo en el directorio desde el que desea iniciar la VM. - Navegar al directorio de repo local e iniciar las VMs con Vagrant usando el comando
# vagrant up
- Pruebe el sitio web usando un navegador de preferencia y vaya a la siguiente URL desde su máquina Host: http://192.168.10.10
- Ingrese a gitlab local accediendo a la URL: https://192.168.10.11
- Completar TODOS los siguientes pasos en el orden indicado:
Pasos A VM app
- Ingresar por ssh con usuario vagrant a la vm usando el comando
# vagrant ssh app
- Generar par de llaves con el comando:
# echo -e "\n\n\n" | ssh-keygen -t rsa -N ""
- Copiar llave publica de la salida del comando:
# cat ~/.ssh/id_rsa.pub
Pasos A VM gitlab
- Ingresar a la consola web de gitlab
- Cambiar password de root (gitlab18)
- Loguearse como root
- Crear grupo (devops-challenge)
- Crear proyecto (test-ci)
- Agregar del la llave pública copiada anteriormente de la VM app, al proyecto creado, en la sección SSH Keys de GitLab
- Ingresar al server gitlab por ssh con usuario vagrant utilizando el comando
# vagrant ssh gitlab
- Registar Runner:
- Ejecutar
# sudo gitlab-runner register
- Rellenar los datos en este orden:
- Please enter the gitlab-ci coordinator URL: https://gitlab
- Please enter the gitlab-ci token for this runner: copiar token desde gitlab web console -> Proyecto -> Settings ->CI/CD -> Runner Settings
- Please enter the gitlab-ci description for this runner: [gitlab]: new-runner
- Please enter the gitlab-ci tags for this runner (comma separated): Presionar enter
- Whether to lock the Runner to current project [true/false]: [true]: Presionar enter
- Please enter the executor: docker, docker-ssh, virtualbox, docker+machine, parallels, shell, ssh, docker-ssh+machine, kubernetes: shell
- setear variable secreta de la manera que se informa en el siguiente link para el usuario vagrant: https://codeburst.io/gitlab-build-and-push-to-a-server-via-ssh-6d27ca1bf7b4
NOTA: Usuario ¨vagrant¨, Password: ¨vagrant¨ | variable secreta: USER_PASS, valor: vagrant
Pasos B VM app
- Ingresar por SSH con el comando ¨vagrant ssh app¨ al server app y ejecutar los siguientes comandos desde el directorio /vagrant:
# git config --global user.name "Administrator"
# git config --global user.email "admin@example.com"
# git init
# git remote add origin git@192.168.10.10:devops-challenge/test-ci.git
# git add .
# git commit -m "Initial commit"
# echo -e "yes\n" | git push -u origin master
- Ingresar yes para aceptar la llave de ssh
NOTA: Luego de lo anterior se ejecutará un pipeline con lo solicitado en el challenge