Twice a year, we run an online training where you can learn Go Event-Driven. The time has come! Learn more.

Available until 26 April

Posts List

Keeping common scripts in GitLab CI

Keeping common scripts in GitLab CI

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. With heavy usage of pipelines in my projects, I often had to look for workarounds and smart tricks.

Automatic Semantic Versioning in GitLab CI

Automatic Semantic Versioning in GitLab CI

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. Picking your flow One of the things I love about GitLab is its flexibility for setting up your own CI workflow.

GitLab CI tips for building custom workflows

GitLab CI tips for building custom workflows

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. It usually is as simple as running one command built in your language’s toolset.

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

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

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. Some projects have no modern development environment set up, so there are only unit tests for things that are easy to test.

Running integration tests on Google Cloud Build using docker-compose

Running integration tests on Google Cloud Build using docker-compose

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).



Share on Hacker News
Share on Reddit

Do you like our posts and you are still not subscribed to our newsletter? We are not sending any spam - just notifications about new content.