Koha Test Wiki MW Canasta on Koha Portainer

Test major Koha Wiki changes or bug fixes here without fear of breaking the production wiki.

For the current Koha Wiki, visit https://wiki.koha-community.org .

User:Victor Grousset - tuxayo/Setup Koha development environment (KohaDevBox)

From Koha Test Wiki MW Canasta on Koha Portainer
Jump to navigation Jump to search

What works

  • Base install with MARC21 or UNIMARC
  • Test suite
  • QA Test Tools
  • Mounting the code from the host [1]

[1] This means we can just use the DevBox to run Koha, the test suite or the QA Test Tools on a patch. And all the rest (git, git bz) could be in the host or a container.

Isn't this redundant with the README?

The aim is to have

  • some ready to paste commands
  • complete some non-obvious stuff
  • have some choices already made
  • have reference to other resources non-obvious to find
  • don't use the installer but a dump instead
  • redo it more quickly and to make the first time easier (less hesitation, less risk of missing something important).

Install procedure

Dependencies

Distribution: Solus

Install from the repos:

  • virtualbox-current
  • rsync
  • vagrant
  • nfs-utils
  • git

reboot (for VirtualBox)

Distribution: *buntu 16.04

VirtualBox, NFS
sudo apt install virtualbox nfs-kernel-server
Ansible and Vagrant not from the distro repos

https://gitlab.com/koha-community/kohadevbox#dependencies

Follow the README

Stop before "vagrant up

https://gitlab.com/koha-community/kohadevbox

Stuff to change in vars/user.yml

Only if one wants to commit or use git BZ from the DevBox

  • git_email
  • git_full_name
  • bz_user
  • bz_password


Distribution: Solus: set up NFS

create /etc/exports

sudo touch /etc/exports

Enable UDP

sudo vim /etc/nfs.conf
# uncomment and enable this
[nfsd]
udp=y

# restart nfs-server
sudo systemctl restart nfs-server.service

Distribution: Arch Linux: set up NFS

Enable UDP

sudo vim /etc/nfs.conf
# uncomment and enable this
[nfsd]
udp=y

restart nfs-server

sudo systemctl restart nfs-server.service

Build and run the DevBox

Without ElasticSearch

# SYNC_REPO → use the koha git repo from the host
SYNC_REPO=/home/REPLACE_WITH_THE_APPROPRIATE_PATH_FOR_YOU/dev/koha vagrant up

Meanwhile, read the rest of https://gitlab.com/koha-community/kohadevbox/blob/master/README.md

With ElasticSearch

# SYNC_REPO → use the koha git repo from the host
KOHA_ELASTICSEARCH=1 SYNC_REPO=/home/REPLACE_WITH_THE_APPROPRIATE_PATH_FOR_YOU/dev/koha vagrant up

Meanwhile, read the rest of https://gitlab.com/koha-community/kohadevbox/blob/master/README.md

Access the VM

From the directory where the kohadevbox repo was cloned.

vagrant ssh

Reset the DB

It creates it and load the dump the first time

reset_all

Run the tests

kshell
time prove -r t/ xt/

Enjoy

Post install: Tune VM

  • shutdown the DevBox
  • open the VirtualBox GUI

Add more CPUs

Default value is 2, adjust to your machine.

Optional: spare a bit of RAM

when not using ElasticSearch: Change the allocated RAM from 2 GiB to 1.5 GiB

Normal usage and useful commands

Start the KohaDevBox

# SYNC_REPO → use the koha git repo from the host
# if you forget this, the /home/vagrant/kohaclone folder will be empty and Koha won't work.
SYNC_REPO=/home/REPLACE_WITH_THE_APPROPRIATE_PATH_FOR_YOU/dev/koha vagrant up jessie

Run the tests

Optional: switch to the code on an older version

# outside the KohaDevBox (assuming mounting the code from the host)
# could be also done inside
git checkout v17.11.04

Run the tests

reset_all
kshell
time prove -r t/ xt/

Load UNIMARC dump

reset_all_unimarc

Access the db

sudo koha-mysql kohadev

Migrate the DB

kshell
installer/data/mysql/updatedatabase.pl
exit
sudo service memcached restart

Build Zebra indexes

sudo koha-rebuild-zebra -f -v

Dump DB

sudo koha-dump kohadev


Resource for commands

https://gitlab.com/koha-community/kohadevbox/blob/master/README.md#vagrant-user

https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages

See also