Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
jenkins_django [2021/09/21 09:20] enrique_mieza_sanchez [Provar tests amb GUI] |
jenkins_django [2022/01/17 08:21] (actual) enrique_mieza_sanchez [CI/CD amb Jenkins, Django i Selenium] |
||
---|---|---|---|
Línia 1: | Línia 1: | ||
- | |||
====== CI/CD amb Jenkins, Django i Selenium ====== | ====== CI/CD amb Jenkins, Django i Selenium ====== | ||
Línia 12: | Línia 11: | ||
{{selenium-logo.png}} | {{selenium-logo.png}} | ||
- | {{tag> #Ciber #CiberMp03 #Asix #DawMp08 DevOps CI CD CI/CD Jenkins Django Selenium }} | + | {{tag> |
Línia 28: | Línia 27: | ||
# A l' | # A l' | ||
config.vm.network " | config.vm.network " | ||
+ | # També podem accedir per localhost: | ||
+ | config.vm.network " | ||
+ | # Configurem mes paràmetres | ||
config.vm.provider " | config.vm.provider " | ||
vb.name = " | vb.name = " | ||
Línia 37: | Línia 39: | ||
</ | </ | ||
+ | \\ | ||
===== Instal·lar Jenkins ===== | ===== Instal·lar Jenkins ===== | ||
Línia 60: | Línia 63: | ||
$ tar xf geckodriver-v0.30.0-linux64.tar.gz | $ tar xf geckodriver-v0.30.0-linux64.tar.gz | ||
$ sudo cp geckodriver /bin | $ sudo cp geckodriver /bin | ||
+ | |||
+ | \\ | ||
+ | |||
===== Projecte Django ===== | ===== Projecte Django ===== | ||
Provarem els tests implementats al [[https:// | Provarem els tests implementats al [[https:// | ||
- | Abans caldrà que configurem la base de dades i les dependències necessàries per treballar amb Python: | + | Abans caldrà que configurem la base de dades i les dependències necessàries per treballar amb Python. |
- | | + | Si estàs en Ubuntu: |
+ | | ||
+ | Si utilitzes Debian: | ||
+ | $ sudo apt install git python3-venv mariadb-server | ||
==== Configurar la BD ==== | ==== Configurar la BD ==== | ||
Línia 90: | Línia 99: | ||
$ git clone https:// | $ git clone https:// | ||
$ cd BorsaDeTreball | $ cd BorsaDeTreball | ||
- | $ virtualenv env # també es pot fer pyhton3 | + | $ python3 |
$ source env/ | $ source env/ | ||
(env)$ pip install -U pip | (env)$ pip install -U pip | ||
Línia 119: | Línia 128: | ||
Quan el test està correcte s'ens mostra un punt " | Quan el test està correcte s'ens mostra un punt " | ||
+ | |||
+ | === Troubleshooting === | ||
+ | Si us apareix algun d' | ||
+ | selenium.common.exceptions.WebDriverException: | ||
+ | selenium.common.exceptions.InvalidSessionIdException: | ||
+ | selenium.common.exceptions.NoSuchWindowException: | ||
+ | selenium.common.exceptions.WebDriverException: | ||
+ | |||
+ | En [[https:// | ||
+ | |||
+ | |||
+ | Si apareixen errors de desenvolupament (s'ha introduït un error a la branca '' | ||
+ | $ git chechout pro | ||
+ | $ python manage.py test | ||
Línia 142: | Línia 165: | ||
Això pot ser interessant per depurar alguns problemes i per curiositat de veure com funciona el WebDriver de Selenium. | Això pot ser interessant per depurar alguns problemes i per curiositat de veure com funciona el WebDriver de Selenium. | ||
+ | \\ | ||
- | ==== Automatitzar Jenkins ==== | + | ===== Automatitzar Jenkins |
Si ens funcionen els tests en la màquina via //shell//, ara podrem automatitzar la seva execució amb Jenkins. | Si ens funcionen els tests en la màquina via //shell//, ara podrem automatitzar la seva execució amb Jenkins. | ||
Línia 159: | Línia 183: | ||
* Secció '' | * Secció '' | ||
<code bash> | <code bash> | ||
- | virtualenv | + | python -m venv env |
. env/ | . env/ | ||
+ | pip install -U pip | ||
pip install -r requirements.txt | pip install -r requirements.txt | ||
head -n -3 BorsaDeTreball/ | head -n -3 BorsaDeTreball/ |