What tools do you use for your Pipeline?

Hi gang,

I’m focusing on pipelines and how automated checks are integrated into them. But before we get into checks, I wanted to know:

What tools do you use for your Pipeline?

For restful-booker-platform, we use CircleCI and Docker for the pipeline. But what about you? What are you using in your context? What do you like about it? What don’t you like about it?

We look forward to your answers and your continued contribution :robot:

1 Like

Gitlab CI using lots of its features combined with Docker containers. In particular we’ve recently been enforcing blocking Merge Requests unless a security scan has returned no significant vulnerabilities with its built in scanning tools.
We’ve recently been working on extending its toolset to also run and collect OpenSCAP scan results remotely using a tool called Teleport to allow secure, audited access.

2 Likes

GitHub Actions has served me well over the past 2 years, in the context of running my automation and running our application pipelines.

Within my pipelines I use many different pre-built actions, that helps with

  • Authenticating and Interacting with AWS resources
  • Building and Pushing Docker Containers to Registries
  • Slack Notification Hooks
  • S3 Bucket Uploads for build artifacts
  • Ability to send Metrics to CloudWatch for data I want to capture
  • Auto Commit for when our jobs re-build our API docs programmatically
  • All sorts of commands form the command line

An example of a GitHub action yml that will run 4 jobs in parellel can be found here.

Afternoon!

  • Version control: Gitlab
  • CICD: GoCD
  • Containers: Docker
  • Build artefacts: Nexus

In general:

  1. Code merged into a main branch
  2. Build a thing with a Docker image e.g. Java package
    2.1 Run unit tests
    2.2 Additional checks e.g. linting, dependency scanning
  3. If all checks pass push the built artefact to Nexus, so it can be used by other pipeline stages. e.g. An application uses the newly changed package.

Recently experimented with gitlab actions, to run some checks that happen in the pipeline, so we can get quicker feedback if we’re about to break something.

So things like unit tests, linting, which we should always do before committing, but as we’re human sometimes forget after making a quick change. Of course a case to be made that we don’t need to do it all twice. But we were trying some stuff out without making major CICD changes. We really liked gitlab actions from a developer experience perspective. Get the checks run, before we commit to the main branch. Those actions definitely caught lots of little mistakes.

1 Like

Currently using:

  • Team City for our pipelines.
  • Artifactory for artifact repo.
  • whitesource for licensing checks
  • sonarqube static code analysis
  • wdio / lambdatest for functional tests

Making use of teamcitys trigger functionality to chain “configs” together into a CI/CD pipeline with the initial trigger being from a source commit.

commit-> build/unit test → whitesource → sonarqube → deployment → functional tests

Not an ideal pipeline, but it works… we are migrating to Github so there is some investigation into Github actions as well. But it can be difficult to move a very large ships direction :slight_smile:

1 Like

Microsoft Azure DevOps, it has everything in one place: code, work items, tests etc. it seems good for pipelines, the beef I have is with the test plan (it’s to hung up on test cases )

1 Like

Mostly switch around Github action, GoCD, Jenkin depends on project setup.
I kinda prefer if pipeline can show value stream mapping (VSM) which help me understand from code pushed until changed got deployed to production.

I like github action in term of not high learning curve to setup and there are pre-define action available to use. In other hand there part not match my preference e.g. github action will not produce test result artifact even the action finished it required for whole workflow to finish in order to get those artifacts

GoCD for me might a bit higher learning curve (if compare with github action) I think documents are still there and useable I heard like there no main contributor support anymore :cry:

I kinda like Jenkin least among these :sweat_smile: (maybe just for me It take more time to understand how to navigate and get thing done) In other hand, there are lots of plugin to use + customize.