bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


jenkins_django

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
Següent revisió Ambdós costats nova versio
jenkins_django [2021/09/21 09:23]
enrique_mieza_sanchez [Projecte Django]
jenkins_django [2021/09/29 09:40]
127.0.0.1 edició externa
Línia 28: Línia 28:
   # A l'insti vigileu de no col·lisionar les IP amb els vostres companys   # A l'insti vigileu de no col·lisionar les IP amb els vostres companys
   config.vm.network "public_network", ip: "192.168.1.221"   config.vm.network "public_network", ip: "192.168.1.221"
 +  # També podem accedir per localhost:8080  
 +  config.vm.network "forwarded_port", guest: 8080, host: 8080
 +  # Configurem mes paràmetres
   config.vm.provider "virtualbox" do |vb|   config.vm.provider "virtualbox" do |vb|
     vb.name = "jenkinshost"     vb.name = "jenkinshost"
Línia 37: Línia 40:
 </file> </file>
  
 +\\
  
 ===== Instal·lar Jenkins ===== ===== Instal·lar Jenkins =====
Línia 60: Línia 64:
   $ 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://github.com/aws2/BorsaDeTreball/|projecte de Borsa de Treball fet a l'institut Esteve Terradas de Cornellà]]. Provarem els tests implementats al [[https://github.com/aws2/BorsaDeTreball/|projecte de Borsa de Treball fet a l'institut Esteve Terradas de Cornellà]].
Línia 66: Línia 73:
  
 Si estàs en Ubuntu: Si estàs en Ubuntu:
-  $ sudo apt install git python3-virtualenv mysql-server+  $ sudo apt install git python3-venv mysql-server
  
 Si utilitzes Debian: Si utilitzes Debian:
-  $ sudo apt install git python3-virtualenv mariadb-server+  $ sudo apt install git python3-venv mariadb-server
  
 ==== Configurar la BD ==== ==== Configurar la BD ====
Línia 93: Línia 100:
   $ git clone https://github.com/aws2/BorsaDeTreball.git   $ git clone https://github.com/aws2/BorsaDeTreball.git
   $ cd BorsaDeTreball   $ cd BorsaDeTreball
-  $ virtualenv env         # també es pot fer pyhton3 -m venv env+  $ python3 -m venv env
   $ source env/bin/activate   $ source env/bin/activate
   (env)$ pip install -U pip   (env)$ pip install -U pip
Línia 122: Línia 129:
  
 Quan el test està correcte s'ens mostra un punt ".", mentre que si és erroni ens apareix una "E" juntament amb el motiu de l'error. Quan el test està correcte s'ens mostra un punt ".", mentre que si és erroni ens apareix una "E" juntament amb el motiu de l'error.
 +
 +=== Troubleshooting ===
 +Si us apareix algun d'aquests errors:
 +  selenium.common.exceptions.WebDriverException: Message: Failed to decode response from marionette
 +  selenium.common.exceptions.InvalidSessionIdException: Message: Tried to run command without establishing a connection
 +  selenium.common.exceptions.NoSuchWindowException: Message: Browsing context has been discarded
 +  selenium.common.exceptions.WebDriverException: Message: Failed to convert data to an object
 +
 +En [[https://stackoverflow.com/questions/49734915/failed-to-decode-response-from-marionette-message-in-python-firefox-headless-s|aquest article de Stackoverflow]] s'indica que augmentant la RAM de la màquina de test fins a 2GB soluciona el problema.
 +
 +
 +Si apareixen errors de desenvolupament (s'ha introduït un error a la branca ''dev''), hauria de ser mes segur canviar a la branca de producció i provar de nou:
 +  $ git chechout pro
 +  $ python manage.py test
  
  
Línia 145: Línia 166:
 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 162: Línia 184:
   * Secció ''Build -> Add Build Step -> Execute Shell'' i afegim el codi shell:   * Secció ''Build -> Add Build Step -> Execute Shell'' i afegim el codi shell:
 <code bash> <code bash>
-virtualenv env+python -m venv env
 . env/bin/activate . env/bin/activate
 +pip install -U pip
 pip install -r requirements.txt pip install -r requirements.txt
 head -n -3 BorsaDeTreball/.env.example > BorsaDeTreball/.env head -n -3 BorsaDeTreball/.env.example > BorsaDeTreball/.env
jenkins_django.txt · Darrera modificació: 2022/01/17 08:21 per enrique_mieza_sanchez