- Proposed via rabbitmq/tgir#4
- Hosted by @gerhardlazu
- Published on: 2020-03-27
- Video: https://www.youtube.com/watch?v=EWU7WCqD_YA
This is the first part of a multi-part series on how to contribute to RabbitMQ. Our contribution will be to verify that a fix is ready to ship in the next RabbitMQ v3.8.4 patch release.
We will start by getting a local development copy of RabbitMQ up and running. Next, we will learn about different ways of running RabbitMQ, and how to use the local CLIs. To wrap-up, we will build a Docker image and verify that the fix is ready to ship in the next public release.
To get the best out of this episode, I encourage you to follow along. All commands are available as make targets in this episode's directory.
- 00:00:00 - Today's topic
- 00:01:56 - What's with the episode README & Makefile?
- 00:04:53 - How to setup for local RabbitMQ development?
- 00:06:57 - What do the master and v3.8.x branch represent?
- 00:11:05 - How to run RabbitMQ in local development mode?
- 00:11:43 - What installs Erlang & Elixir?
- 00:14:31 - Interactive shell on the local RabbitMQ node
- 00:19:01 - Run a local dev copy of RabbitMQ with all plugins enabled and STDOUT debug logging
- 00:24:35 - Where to find rabbitmqctl & friends?
- 00:27:17 - Man pages for rabbitmqctl & friends
- 00:29:02 - The issue we reported in S01E02
- 00:30:53 - Build a Docker image of rabbitmq-server#2279 & rabbitmq-common#368
- 00:35:48 - Run custom RabbitMQ Docker image locally
- 00:39:00 - Verify that custom RabbitMQ Docker image addresses the issue we reported
- 00:46:18 - rabbitmq-server#2254 is ready to ship in RabbitMQ v3.8.4 patch release
- 00:47:36 - In the next episode...
- Work with ease on multiple RabbitMQ sub-projects, e.g. core broker, plugins and some client libraries
- rabbitmq-server issues #2254: Node can use significant (e.g. 80GB) amounts of RAM during startup
checkout-pr2279 Checkout the correct source for rabbitmq-server & rabbitmq-common
deps Resolve all dependencies
dev-server Run dev rabbitmq-server
dev-server-all-plugins Run dev rabbitmq-server with all plugins
docker-image Build & publish a Docker image of a custom RabbitMQ build
docker-image-run Run Docker image of our custom RabbitMQ build
rabbitmq-public-umbrella Setup a local copy for developing RabbitMQ
show-ctls Show where to find CTLs
switch-to-3.8.x Switch local copy to v3.8.x
switch-to-3.9.x Switch local copy to v3.9.x
which-release-series Show which release series we are currently on
- rabbitmq-public-umbrella
- What does the master branch represent?
- And the v3.8.x branch?
- How to run a local dev copy of RabbitMQ?
- Interactive shell is available by default
- Run a local dev copy of RabbitMQ with all plugins enabled and STDOUT debug logging
- Where to find rabbitmqctl & friends?
- Build a Docker image of rabbitmq-server#2279 & rabbitmq-common#368
- Close rabbitmq-server#2254
- Preview docs & share improvements
- 1-command RabbitMQ dev env
- Make code changes, preview & test
- Multi-repo pull-request process