1、The Future of CI/CD with Tekton and KubernetesChris AniszczykCNCF.io CTORise of Cloud Native CI/CD Continuous delivery(CD)is a software engineering approach in which teams produce software in short cycles,ensuring that the software can be reliably released at any time.The rise of microservices,cloud
2、 native architectures has caused a corollary rise in continuous delivery practices.Continuous delivery improves velocity,productivity,and sustainability of software development teams 1 21-1-https:/ is complex and painful to interact with.test git:(master)./integration-tests.sh+docker push us.gcr.io/
3、catfactory-production/imageThe push refers to repository us.gcr.io/catfactory-production/imaged250020dd5b7:Waiting503e53e365f3:Waitingdenied:requested access to the resource is denied test git:(master)./integration-tests.sh+kubectl apply-f newly-built.yamlError from server(Forbidden):error when crea
4、ting newly-built.yaml:.The CI/CD space is diverse/growing!(see cf.io)Too many ways to define a CI/CD pipeline!CI/CD Space is Ripe for Collaboration/Integration There are opportunities to collaborate on defining industry specifications around pipelines,workflows and other CI/CD areas.Google and other
5、s were looking to seed a specification around pipelines based on experience in Knative and collaborate with the CD community on standardization https:/www.linuxfoundation.org/press-release/2019/03/the-linux-foundation-announces-new-foundation-to-support-continuous-delivery-collaboration/CDF Founded
6、in March 2019!https:/www.linuxfoundation.org/press-release/2019/03/the-linux-foundation-https:/www.linuxfoundation.org/press-release/2019/03/the-linux-foundation-announces-new-foundation-to-support-continuous-delivery-collaboration/announces-new-foundation-to-support-continuous-delivery-collaboratio
7、n/CDF believes in the power of Continuous Delivery to empower developers and teams and to produce high quality software more rapidly CDF fosters and sustains the ecosystem of open-source,vendor neutral projects through collaborations and interoperability CDF advocates this idea and encourages open s
8、ource collaborations among practitioners to share and improve their practicesCDF Initial Projects Jenkins:https:/ Jenkins-X:https:/ Spinnaker:https:/ Tekton:https:/ Native CI/CD Spec+Components The Ancient Greek noun tektn()is a common term for an artisan/craftsman,in particular a carpenter,wood-wor
9、ker,mason,builder or teacher engineer.Tekton is a set of shared,open source components for building CI/CD systems hosted under the CDF.What problems is Tekton solving?Challenges developers are facingChallenges developers are facing Fragmented tooling No clear best practices Confusing terminology Leg
10、acy tooling that doesnt scale Portability constraints Security compliance requirements Not-reusable across teams&environmentsTektonTekton benefits benefits Common building blocks Industry driven best practices and guidelines Plug&play extensibility Target any language,environment or platform Portabl
11、e&avoids lock-inTekton:VisionCompoComposablsableeDeclDeclaraarativtiveeReproReproducducibleibleClouCloud d NatiNativeveImprove the usability and security of software delivery for everyone through specifications and cloud native technologies.Reduce Fragmentation!Move CI/CD Brains to KubernetesContain
12、ersReproducible,reusable,infrastructure agnosticDynamic orchestrationIncreased reliabilityServerless resource utilizationReduced costStandards&Conformant APIsPortabilityComposable Blocks:Plumbing not PorcelainWhen you look at all the tools,at their core,they all start to look the sameThey have a con
13、cept of a workflow,artifacts,source,results etcThe end goal is always the same get my code from source to production.TektonTekton Task CRD Task CRD New CRD Sequence of steps Run in sequential order Run on the same k8s pod Declarative inputs and outputsTekton Pipeline CRD Express Tasks order Sequenti
14、ally,Concurrently,Graph Execute Tasks on different nodes Typed inputs and outputsTekton Pipeline ExampleTekton Pipeline:The PartsTekton Projects tektoncd/pipeline Core of Tekton:Pipelines+Tasks tektoncd/triggers Trigger running of Pipelines in response to events tektoncd/catalog Catalog of Tasks+Pip
15、elines tektoncd/cli+tektoncd/dashboard Community driven UIsTekton Contributors Contributors and friends from:Alibaba Google Cloudbees Puppet Red Hat IBM And more!Tekton Integrations Cloudbees Jenkins X Puppet Nebula IBM Kabenero RedHat OpenShift Pipelines Triggermesh A Roadmap Q4Q4 Tekton Pipelines
16、Beta,Tekton Triggers Event triggering,Github&Gitlab,conditionals H1 2020H1 2020 Manual approvals,notifications,result storage Catalog with reusable Tasks,Pipelines and Resources H2 2020H2 2020 Debugging,testing,IDE integration CD integrations Tekton conformance program establishedTektonTekton:Get In
17、volved:Get Involved Try it out:Try it out:Intro to Tekton workshopIntro to Tekton workshop Working groupWorking group SlackSlack Mailing listMailing list Join CDF!Join CDF!https:/cd.foundation/members/join/https:/cd.foundation/members/join/Thank you+Demoinfocd.foundationhttps:/cd.foundation/members/join/MembersPREMIERGENERAL AND END USER MEMBERS