You need a running database instance to run both the server and the test suites.
To start a ready to go Postgres instance with Docker, run:
docker run --name=kickstart-db -v $(pwd)/scripts/postgres:/docker-entrypoint-initdb.d -p5432:5432 -e POSTGRES_PASSWORD=secret -d postgres
Note : If you want to use you local Postgres instance make sure to run the script scripts/postgres/create-databases.sql
to create the local, test and acceptance databases.
Build using Gradle with:
make build Start the server from Gradle with:
make runYou can now sign in with guest/password.
To build a docker image to your local docker daemon:
make docker-imageTo run the previously built docker image against a local Postgres instance on OSX:
docker run -p 8080:8080 -e "SERVER_PORT=8080" -e "SERVER_HOST=0.0.0.0" -e "WWW_ROOT=/www" bee-software/kickstart To run the previously built docker image against a Postgres instance in Docker on OSX:
docker run -p 8080:8080 -e "SERVER_PORT=8080" -e "SERVER_HOST=0.0.0.0" -e "DB_HOST=host.docker.internal" -e "WWW_ROOT=/www" bee-software/kickstart You can now sign in at http://localhost:8080 with guest/password.
Configuration uses properties files named after the environment:
etc/test.propertiesfor the test environmentetc/dev.propertiesfor the dev environment
Configuration can be overridden from the command line using environment variables.
For instance to run tests against an existing Postgres database running on port 54320:
DB_PORT=54320 make runTo run the server on a different port, you can either set the SERVER_PORT environment variable, such as:
SERVER_PORT=8080 make runor use the shortcut form:
make run PORT=8080To run the build against a different environment, say integration, for which you will need to provide
an etc/integration.properties file on the classpath:
make build ENV=integrationTo start Concourse, the CI server, run:
docker compose -f concourse.yml up -dThis will run the default Concourse docker image. Open http://127.0.0.1:8080/ to access Concourse in your browser.
Download the fly CLI or install it via Homebrew, then set up the Concourse target:
fly --target kickstart login --concourse-url http://127.0.0.1:8080 -u test -p test
fly --target kickstart syncInstall the build pipeline in concourse by running:
fly -t kickstart set-pipeline -c scripts/ci/pipeline.yml -p kickstartUnpause the newly created pipeline and job:
fly -t kickstart unpause-pipeline -p kickstart
fly -t kickstart unpause-job --job kickstart/testAccess the pipeline URL http://localhost:8080/teams/main/pipelines/kickstart or follow the build in your terminal.
For example, to follow the test job in the terminal:
fly -t kickstart watch -j kickstart/test