Few words about myself, my name is Raziel, I am a developer and entrepreneur. I live in the bay area for the past 8 years, I am the founder and organizer of Containers 101 meetup and the CEO & founder of Codefresh. My twitter handle is @RazielTabib please follow if you wish to hear announcement about future talks and meetups on the topic of containers and microservices.
Lets start by talking first about the some of challenges we see in traditional CI. If we are looking at the typical stages of a pipeline, in traditional CI the first time changes are tested for integration or UI as well as the first time they can be demonstrated is at the staging phase.
This not only causing a bottleneck of changes waiting to be promoted but also increases the cost of a bug that is found in this stage and impose even further delays.
What docker allows us to more easily implement is the provisioning, running and sharing our feature branch earlier in the lifecycle. By leveraging docker-machine to provision a host on a remote machine, and spinning up a full application using docker-compose, we can instantly share our feature branch with the team and capture and incorporate feedback before promoting our code changes or making a PR.
We can also leverage the instant environment to run integration and UI testing earlier in the lifecycle so we can identify breaks and resolve them before making a PR or promoting our code changes.
Identifying bugs or gaps in functionality early will allow us to promote higher quality code that will less likely to break our integration tests or cause any delays
Lastly, enriching the docker image metadata, allows us to ensure we promote docker images that have passed all steps in our pipeline successfully.
Lets see how it works
How Docker Accelerates Continuous Development at Codefresh
How Docker Accelerates
• Developer, entrepreneur and technology enthusiast
• Live in the Silicon Valley since 2008
• Organizer of Containers 101
• Founder & CEO of Codefresh
The first time code changes are reviewed and
tested is at the staging phase, when changes are
costly to fix
FEEDBACK IS RECEIVED AND INCORPORATED EARLIER
Developers can instantly run their
code changes in the full application
context for feature preview and
Feedback then, can be easily
incorporated before changes are
promoted to staging
INTEGRATION TESTS FAILURES ARE DISCOVERED EARLIER
Run Integration, UI and performance
tests on any feature branches using on
demand spin up of compositions
Failures can then be addressed earlier in
the lifecycle before being promoted to
PROMOTE ONLY SUCCESSFUL CODE CHANGES
Only changes that have
passed review and testing will
be promoted, minimizing the
risk of costly changes later in