Hvordan utvikle på uka.no

Uka.no utvikles i git. For mer informasjon om git og grunnleggende bruk oppfordres følgende node: git

Hvordan sette opp en utviklings-instans

Start med å klone uno-repoet fra /home/cassarossa/itk/felles/git/ukano til et sted du finner passende. Det er også en fordel å legge seg selv til i gruppene uka-dev og uka-web før du begynner å utvikle.

Følg så "Sette opp utviklings-instans" delen av oppskriften medlemsdb2, hvordan utvikle. Bytt ut "samfundet" og "mdb2.samfundet" med "uka" overalt. Pass også på å sette ProxyPass i Apache-configen til å peke på en port som ikke allerede er i bruk. Dette kan f. eks sjekkes ved søke igjennom uWSGI-configene. uWSGI-configen finner du i /etc/uwsgi/apps-available.

Deretter må vi sette opp en uWSGI instans. Det enkleste er å kopiere noen andres config, følge det som står i uWSGI-noden.

Vi må så legge til en ny konfigurasjonsfil, som (stort sett) skal inneholde de Django relaterte instillingene som er unike for din utviklings-instans.

Start med å kopiere noen andres local.py fil. Denne filen kan bli funnet i uno/settings/. Bytt ut BASE_URL med URLen til din utviklingsinstans, og pass på at databasen som blir definert i den samme filen er en dev-database.

Kjør tilslutt:

 python manage.py collectstatic 
Denne kommandoen samler hovedsaklig alle de statiske filene på et sted, slik at de blir lettere for Apache å håndtere. I utviklingsmiljøet vil dette vanligvis derimot ikke være nødvendig, ettersom Django selv håndterer disse filene.

Hvordan sette opp en lokal utviklingsinstans

Begynn med å opprette et virtual environment

  virtualenv -p /usr/bin/python2.7 venv # Opprett et virtual environmentet kalt «venv»
  source venv/bin/activate              # Aktiver virtual environmentet
  pip install -r requirements.txt       # Installer avhengighetene som trengs for å starte uka.no
Husk å aktivere virtual environment hver gang du skal utvikle.

Ettersom enkelte instillinger er spesifike for din utviklingsinstans, må du deretter opprette en fil som inneholder lokale instillinger.

  cp uno/settings/local_devel.py uno/settings/local.py
Fyll ut seksjonene i local.py merket med «# TODO» før du fortsetter.

Opprett deretter databasen ved å kjøre

  python manage.py syncdb   # (skriv "no" når du blir spurt om å opprette superbruker)
  python manage.py migrate

Dersom du ikke bruker sqllite, kan du se bort fra det følgende. Siden vi i noen tilfeller ikke ønsker å bruke mdb2_dev, kan du opprette noen mock-Billig tabeller ved å kjøre

  python manage.py dbshell
  .read local_dev_sql/billig_tables.sql

For å samle de statiske filene som uka.no trenger må du så kjøre

  python manage.py collectstatic

For å så starte en lokal server som serverer uka.no kan du kjøre

  python manage.py runserver

Når du har utviklet det du vil

Det første du må gjøre er å forsikre deg om at ditt utviklings-tre er oppdatert med det offisielle uno-treet.

bruker@maskin:~/dev/uno$ git commit -m "En flott beskrivelse av endringene jeg har gjort"
bruker@maskin:~/dev/uno$ git pull
bruker@maskin:~/dev/uno$ git push

Er det konflikter eller andre endringer under pull/push, løs opp og commit.

Prøv å gjøre commit-meldingene dine rimelig informative! Bare «merge fra –bruker» er veldig lite nyttig, prøv å få med i korte trekk hva som faktisk er skjedd.

Utrulling på uka.no

Start med å ssh-e til cirkus. Gjør deretter dette:

bruker@cirkus:~$ cd /var/www/uka.no/www/uno
bruker@cirkus:~$ sudo -u uka-httpd git pull

Det vil til tider også være nødvendig å reloade uWSGI, ettersom dette blant annet reloader hele Django-configen.

Lenker: Start, uka-no

Mail: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2018-04-23 20:45 | Revisjon: 41 (historie, blame) | Totalt: 1420 kB | Rediger