question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

QHub CI/CD Pipeline Improvements

General notes and ideas

  • can we create custom image for the running
    • custom AMI for CI-Run?
  • benchmark the size of docker images
    • reducing the size much more might be difficult given the required packages
    • initial tests with Docker Slim were unsuccessful
  • multi-stage docker image builds
    • look at centos git branch for initial attempt
  • only trigger workflow if they are touched

Test order, only proceed if previous step was successful

  • lint
    • docker lint (hadolint ?)
    • python lint (black/flake8/etc ?)
    • terraform lint (find one ?)
  • docker
    • build images / push to registry
    • is there a way to use cached/pre-existing docker images during the CI process (to save time)
      • diff the dockerfiles and related files
  • python
    • pytests (stages)
    • test providers (qhub init, qhub render)
  • kubernetes local test
  • (docs)

Integration tests

  • terraform infrastructure
    • full integration tests
      • review - why are they failing so often…
      • what are the actions we should take if these tests fail?

Next steps

  • Review the action triggers
    • avoid duplicates (push and pull requests)
  • Review Test Provider workflow
    • is there another way to implement?
    • add concurrency?

Resources

Issue Analytics

  • State:open
  • Created 2 years ago
  • Reactions:2
  • Comments:7 (6 by maintainers)

github_iconTop GitHub Comments

3reactions
magsolcommented, Jan 24, 2022

This is awesome, thank you so much for putting this together! Yeah let’s see what Gonzalo has to say when we meet with him today and go from there.

0reactions
viniciusdccommented, May 5, 2022

I think the major points to get this working in a future release are:

  • Decoupling docker images into base and custom configurations
  • Custom testing classes suit
  • Enhances to pytest during qhub deployment (tests between stages)
Read more comments on GitHub >

github_iconTop Results From Across the Web

The complete CI/CD Setup (Part 6 - Pipeline refactoring)
In this series of blog posts I'll describe how to setup and deploy a complete CI/CD pipeline on Kubernetes.
Read more >
How do you refactor in CI/CD? : r/devops - Reddit
I'm currently investigating how traditional software development tasks are (and need to be) adjusted when every change is supposed to go in ...
Read more >
Best way to create a Ci/CD pipeline to reduce bugs and ...
So I'd place the full regression after the static analysis in the CI/CD pipeline - I wouldn't want to waste full regression costs...
Read more >
Refactor a code responsible for creating a CI/CD pipeline
Refactor a code responsible for creating a CI/CD pipeline. We should refactor pipeline creation service, since it accumulated a lot of tech ...
Read more >
Cloud Modernization After Refactoring: A Continuous Process
So, at a point in time, part of their application may have been modernized to microservices running in the cloud and deployed by...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found