Field Engineering CI/CD

 
 


Julien Ruaux <julien@redislabs.com>

Process Flow

flow

Release Flow

jreleaser tools

Testing

  • Unit tests: JUnit

  • Integration tests: Testcontainers

Testcontainers

  • Java library

  • Lightweight, throwaway containers

  • Included modules: DBs, Elastic, Kafka, …​

  • …​ but no Redis 😔

Testcontainers Redis

  • Redis Standalone

  • Redis Modules

  • Redis Cluster

  • Redis Cluster Modules

  • Redis Enterprise

    • Modules

    • Clustering

Junit + Testcontainers

@Testcontainers
class MyIntegrationTests {

  @Container
  static RedisContainer redis = new RedisContainer();

  @Test
  void testWrites() {
    RedisClient client = RedisClient.create(redis.getRedisURI());
    // ...
  }
}

Resources