[Evergreen-dev] DEV docker image new(s)
Blake Graham-Henderson
blake at mobiusconsortium.org
Thu May 2 15:11:40 EDT 2024
All,
Being on the 3.13 release team got me testing more patches than ever! I
ended up enhancing our DEV docker container to facilitate the testing.
And I know at least 2 or 3 of you all are using this.
== Changelog ==
With these new changes we can:
1. Hot swap the database by editing a text file and saving it.
2. fm_IDL.xml is now updated when the Evergreen stack is restarted.
3. Quicker response time when indicating that you want the services
restarted.
4. Non-snap Firefox available for running nightwatch tests on the 22.04
image.
5. Quicker boot times due to using standard concerto set instead of
enhanced on boot, but you can switch to enhanced using db_control.txt
(see below).
6. redis container is now using PostgreSQL 15 with the jit_above_cost tweak.
I updated the README here:
https://hub.docker.com/r/mobiusoffice/evergreen-ils
to include the details on how to use the db_control.txt file.
Other detailed setup documentation lives here:
https://wiki.evergreen-ils.org/doku.php?id=newdevs:testserver
== Hot Swap Database detail ==
The hot swap database feature makes it so that you can test a given
patch to see if the database can be built. For example edit the file to
look like this:
evergreen standard *
evergreen_enhanced enhanced
lp2039609 enhanced
After saving the file, the container will create a database named
"lp2039609" and install the "enhanced" concerto dataset. You can watch
the output of the build process by viewing the file "db_switch.log"
If you see that it built properly, then you can edit the file to look
like this:
evergreen standard
evergreen_enhanced enhanced
lp2039609 enhanced *
The asterisks indicates that's the database that you would like
Evergreen to be hooked up to. A few seconds later, the container will
reconfigure /openils/conf/opensrf.xml and restart the stack.
== Shelling into the container ==
You can still use the linux shell if you need to make more granular
tweaks to the server. This command will drop you into the shell:
docker exec -it <containerID> bash
the containerID can be discovered with:
docker ps --format '{{.ID}}'
or the all-in-one command:
docker exec -it $(docker ps --format '{{.ID}}') bash
== How to download the latest image ==
If you've already downloaded the docker image, you will need to download
the new one with this command:
docker pull mobiusoffice/evergreen-ils:dev
and the redis flavor:
docker pull mobiusoffice/evergreen-ils:dev-redis
== Build your own and contribute to the project ==
Building these images is done from a git repo:
https://github.com/mcoia/eg-docker
To build a local container from the repo:
git clone https://github.com/mcoia/eg-docker.git
cd eg-docker/generic-dockerhub-dev
docker build --add-host public.localhost:127.0.1.2 --add-host
public:127.0.1.2 --add-host private.localhost:127.0.1.3 --add-host
private:127.0.1.3 . --no-cache
wait 15 minutes or so
And the result will be a new local image. Which you can see with this
command:
docker images
Feedback is very welcome! Happy testing!
--
-Blake-
Conducting Magic
Will consume any data format
MOBIUS
More information about the Evergreen-dev
mailing list