GithubHelp home page GithubHelp logo

RFC: Continuous Delivery about community HOT 5 CLOSED

libero avatar libero commented on August 20, 2024
RFC: Continuous Delivery

from community.

Comments (5)

giorgiosironi avatar giorgiosironi commented on August 20, 2024 1

For the end-to-end testing, do you envision this being something declared completely in the source control of the micro-service?

See next answer for how to declare this, but in general in end-to-end scenarios a target platform with some defined infrastructure needs to be defined first (e.g. deploy on GKE or deploy on AWS). So there may be some out of band information in that environment that is not completely under the control of the microservice. Incidentally, this puts the result of a end-to-end test not purely in the hands of the microservice being tested but also in the state of the outside world.

Also will this put micro-services in a position where they may be tightly coupled to other versions of components, or would there be a fixture matrix of compatible versions?

It will depend a lot on downstream usage, but the bare minimum is testing the current master branches work together. In addition to that and with compatibility and decoupling in mind, we could also test version 1.2.3 of service X works with 1.0.0 of Y and 1.0.0 of Z. This is inspired by our lowest library testing mode but it's a different context, relying on the semantic versioning convention. Needs to trialed to see if it works in practice, and considering we will be on 0.x versioning for a while.

from community.

stephenwf avatar stephenwf commented on August 20, 2024

I've got 2 main questions about the CD.

  1. For the end-to-end testing, do you envision this being something declared completely in the source control of the micro-service? Like for example, bootstrapping services X, Y and Z with fixtures A, B, C. Also will this put micro-services in a position where they may be tightly coupled to other versions of components, or would there be a fixture matrix of compatible versions?

  2. When artefacts are built, is the assumption that they will be delivered to GitHub or a package manager or somewhere else? (I know the exact destination may not be in the scope of this)

from community.

giorgiosironi avatar giorgiosironi commented on August 20, 2024

When artefacts are built, is the assumption that they will be delivered to GitHub or a package manager or somewhere else? (I know the exact destination may not be in the scope of this)

So far it looks like we support at least container images to deliver a service wherever it is being deployed. These would be pushed to Docker hub for simplicity. If we support other kinds of deployments other artifacts would have to be produced and put somewhere public as well.

from community.

smeall-zz avatar smeall-zz commented on August 20, 2024

No objections from us to adopting Travis CI.

from community.

BlueReZZ avatar BlueReZZ commented on August 20, 2024

Travis CI is now in use and working well. We've recorded the decision here as an ADR in #16 and https://github.com/libero/community/blob/develop/doc/adr/0002-continuously-delivery-travis-ci.md

from community.

Related Issues (17)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.