Hvordan utvikle på innsida.uka.no

Sette opp utviklings-instans

Lage lokal kopi

Man setter gjerne opp en utviklings-instans på cirkus, og vi ønsker en url alá http://innsida-edgarmv.uka.no

Først tar vi en klone av master-branchen.

bruker@cirkus:~/dev$ git clone /home/cassarossa/itk/felles/git/innsida

Kopier local.py fra en annen som utvikler:

bruker@cirkus:~/dev$ cp /home/cassarossa/itk/edgarmv/dev/innsida/innsida/settings/local.py innsida/innsida/settings/local.py

Lag virtualenvironment, og installer pakker

virtualenv -p /usr/bin/python2.7 venv && source venv/bin/activate
pip install -r requirements_dev.txt

Apache-konfigurasjon

Kopier en fungerende config fra en annen på cirkus. De ligger i /etc/apache2/sites-available/ Endre brukernavnet i configen til deg selv, og pass på at DocumentRoot er riktig.

For å legge til denne i sites-enabled bruker vi følgende:

bruker@maskin:~$ sudo a2ensite innsida-edgarmv.uka.no

Før apacheconfigen lastes inn, må vi legge til en DNS-oppføring.

Bind

Vi ønsker å få DNS til å peke riktig, og må legge dette inn i bind sin config.

bruker@maskin:~$ vim /etc/bind/pz/uka.no

Find de linjene hvor andre har innsida DNS records og legg deg selv til.

Ser nok slik ut:

innsida-edgarmv   IN      CNAME   cirkus.samfundet.no

Husk også å oppdatere serialen øvest i filen. Den er på form årstall måned dato <number>.

Hvor du endrer number om det er flere som har endret filen samme dag. Så eksempelvis 2011102400 er en gyldig serial.

Deretter reloader du BIND ved:

bruker@cirkus:~$ sudo service bind9 reload

Til slutt reloades Apacheconfigen:

bruker@cirkus:~$ sudo service apache2 reload

Verifiser at du får opp utviklingsmiljøet ditt ved å gå til http://innsida-edgarmv.uka.no

Kerberos

Du har kanskje gjort det allerede, og innsett at passord/brukernavnet ditt ikke virker. Vi må sette opp egen Kerberos-keytab for utviklings-instansen din.

Under kan det være greit å godta defaults. Følg det som står i "Opprette Kerberos-keytab" i itkaclbruk-artikkelen Det er i korte trekk slik (bytt ut med ditt brukernavn):

  1. ssh til cirkus
  2. $ kadmin -p edgarmv/admin
  3. > add -r HTTP/innsida-edgarmv.uka.no
  4. > ext -k innsida-edgarmv.uka.keytab HTTP/innsida-edgarmv.uka.no HTTP/itk.samfundet.no HTTP/cirkus.samfundet.no
  5. Gå ut av kadmin (ctrl+d) og flytt keytab fra hjemmeområde til /etc/apache2/krb5/innsida-edgarmv.keytab
  6. $ chown uka-web:uka-web /etc/apache2/krb5/innsida-edgarmv.keytab

Nå må vi redigere apache-configen til å bruke den nye keytaben

    <Location />
        AuthType Kerberos
        KrbAuthRealms SAMFUNDET.NO
        Krb5Keytab /etc/apache2/krb5/innsida-edgarmv.keytab
        AuthName "Uka innsida"
        require itkacl /web/uka/admin
    </Location>

uwsgi

Det siste vi må gjøre er å opprette en uwsgi config-fil. Kopier en annen person sin.

bruker$maskin:~$ cd /etc/uwsgi/apps-available
bruker$maskin:~$ cp innsida-edgarmv.uka.no.ini innsida-bruker.uka.no.ini
ln -s ../apps-available/innsida-bruker.uka.no.ini ../apps-enabled/

Etter dette må du gi den en ny port som ikke er i bruk, endre chdir og virtualenv til din egen dev instans.

Når du har utviklet det du vil

Det første du må gjøre er å forsikre deg om at det ikke er endringer i det offisielle innsida-treet som har skjedd mens du utviklet, så kjør en update av mainline og gjør en merge fra mainline:

bruker@maskin:~/dev/innsida$ git commit -m "min commitmelding"
bruker@maskin:~/dev/innsida$ git pull
bruker@maskin:~/dev/innsida$ 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.

Produksjonssetting

Da må du ssh-e til cirkus, som hoster innsida, og sette den nye versjonen i produksjon:

bruker@cirkus:~$ cd /var/www/uka.no/innsida
bruker@cirkus:~$ sudo git pull

Lenker: Start

Mail: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2015-10-17 16:23 | Revisjon: 4 (historie, blame) | Totalt: 1434 kB | Rediger