Skip to content

Development

Arraying edited this page Jul 18, 2020 · 2 revisions

Development

Development for IB.ai can be relatively complicated, hence this page was created. It is presumed that the person reading this has sufficient experience in Java, Maven, Docker, etc. and that the programming aspects do not need to be elaborated upon.

Local Development

Local development can be a little tricky with Docker and IntelliJ. Here's an example of how development could look like:

  • Running the bot through IntelliJ's run system (injecting the config as environment variables in the configuration)
  • (If applicable) Running a Docker container that serves as a database
  • Using docker-compose.yml

Workflow

Here are the steps of local development to the service being in production. Please note that while the CI artifacts are available for everyone, the CD only deploys for the r/ibo Discord Server.

  1. Create a new branch (or fork, if applicable)
  2. Write code and commit and push the changes
  3. Create a pull request to merge into master
  4. Wait for at least one maintainer to review the PR and if applicable merge it into master
  5. The CI will then build the artifact
  6. When running the compose again, the newer version will automatically be downloaded, assuming prod.Dockerfile is specified as the Dockerfile
Clone this wiki locally