Three Dots Labs Three Dots Labs
  • Home
  • Blog
  • Newsletter
  • Live & Podcast
  • Trainings & Courses
  • Get our e-book
Get our e-book
Type something to search..
to navigate to select ESC to close

Ci

  • Home /
  • Tags /
  • ci
Running integration tests with docker-compose in Google Cloud Build

Running integration tests with docker-compose in Google Cloud Build

  • Avatar
    Miłosz Smółka

This post is a direct follow-up to Microservices test architecture where I’ve introduced new kinds of tests to our example project. Wild Workouts uses Google Cloud Build as CI/CD platform. It’s configured in a continuous deployment manner, meaning the changes land on production as soon as the pipeline passes. If you consider our current setup, it’s both brave and naive. We have no tests running there that could save us from obvious mistakes (the not-so-obvious mistakes can rarely be caught by tests, anyway).

Microservices test architecture. Can you sleep well without end-to-end tests?

Microservices test architecture. Can you sleep well without end-to-end tests?

  • Avatar
    Miłosz Smółka

Do you know the rare feeling when you develop a new application from scratch and can cover all lines with proper tests? I said “rare” because most of the time, you will work with software with a long history, multiple contributors, and not so obvious testing approach. Even if the code uses good patterns, the test suite doesn’t always follow.

GitLab CI tips for building custom workflows

GitLab CI tips for building custom workflows

  • Avatar
    Miłosz Smółka

This time I’d like to touch on a few more advanced topics related to GitLab CI. The common theme here is implementing custom features within your pipeline. Again, most of the tips are specific to GitLab, but some could be easily applied in other CI systems as well. Running integration tests Checking your code with unit tests is usually easy to plug into any CI system.

Automatic Semantic Versioning in GitLab CI

Automatic Semantic Versioning in GitLab CI

  • Avatar
    Miłosz Smółka

In the previous post I showed how to keep all the scripts used in the CI in one repository. Let’s see what more advanced scripts you could put in there. This time I’d like to show how to add automatic versioning to your pipeline. You will also see how to push commits to your repository within the CI jobs. But first, let’s start with some background.

Keeping common scripts in GitLab CI

Keeping common scripts in GitLab CI

  • Avatar
    Miłosz Smółka

With this post, I’d like to start a series of CI-related tips, targeted mostly at GitLab, since that’s my go-to tool for things CI/CD-related. I’m sure most of them could be easily applied to other CI systems, though. While GitLab does a great job at many things (repository hosting and related stuff, like MRs, pipelines, issue boards, etc.), it sometimes lacks more specialized features in some areas.

Series
  • Building in public ( 2 )
  • Essays ( 1 )
  • Live podcast ( 7 )
  • Modern Business Software in Go ( 14 )
  • Watermill release post ( 6 )
Popular articles
  • The Go libraries that never failed us: 22 libraries you need to know
  • Safer Enums in Go
  • Common Anti-Patterns in Go Web Applications
  • How to implement Clean Architecture in Go (Golang)
  • The Repository pattern in Go: a painless way to simplify your service logic
  • Introduction to DDD Lite: When microservices in Go are not enough
Tags
  • go
  • golang
  • watermill
  • ddd
  • clean-architecture
  • domain-driven design
  • events
  • web-applications
  • anti-patterns
  • ci
  • event-driven
  • firestore
  • cloudrun
  • gcloud
  • googlecloud
  • serverless
  • testing
  • advanced
  • architecture
  • databases
  • devops
  • firebase
  • gitlab
  • microservices
  • reactive
  • repository
  • software-development
  • backend
  • basics
  • building-business-applications
  • building-in-public
  • cqrs
  • frameworks
  • kafka
  • mysql
  • nats
  • pipelines
  • scalability
  • software-architecture
  • transactions
  • amqp
  • authentication
  • balance
  • bounded-context
  • c4
  • cicd
  • code-quality
  • design-patterns
  • diagrams
  • docker
  • dry
  • e-book
  • efficiency
  • enums
  • event-storming
  • gamedev
  • generics
  • google-cloud
  • grpc
  • htmx
  • intermediate
  • iteration
  • javascript
  • learning
  • libraries
  • maintainability
  • metrics
  • monolith
  • open-source
  • openapi
  • over-engineering
  • overengineering
  • parallelism
  • productivity
  • programming-languages
  • prometheus
  • python
  • rabbitmq
  • retrospective
  • security
  • sql
  • sse
  • startups
  • strategic-ddd
  • swagger
  • terraform
  • tips
  • unpopular-opinions
  • versioning
Three Dots Labs Three Dots Labs
  • Contact
  • Privacy Policy
  • About us

© Three Dots Labs 2014 — 2025

We are a bootstrapped company. By supporting us, you support independent creators.