jstrachan | 7 years ago | on: Shifting Gears
jstrachan's comments
jstrachan | 7 years ago | on: Shifting Gears
jstrachan | 7 years ago | on: Shifting Gears
jstrachan | 7 years ago | on: Shifting Gears
jstrachan | 7 years ago | on: Shifting Gears
jstrachan | 7 years ago | on: Shifting Gears
I'm looking forward to seeing the Jenkins ecosystem expand to offer similar automated CI/CD for other platforms too (e.g. Terraform / Ansible / VMs etc)
jstrachan | 7 years ago | on: Shifting Gears
jstrachan | 7 years ago | on: Shifting Gears
jstrachan | 7 years ago | on: Shifting Gears
Also I'm hoping for a nice validated YAML based pipeline syntax that should make editing/validating pipelines easier
jstrachan | 7 years ago | on: Jenkins X: a CI/CD solution for cloud applications on Kubernetes
jstrachan | 7 years ago | on: Jenkins X: a CI/CD solution for cloud applications on Kubernetes
I.e. it’s not using the upstream distribution of Kubernetes like the public cloud vendors or Heptio etc.
It’s great it’s a Certified Kubernetes though!
jstrachan | 7 years ago | on: Jenkins X: a CI/CD solution for cloud applications on Kubernetes
OpenShift also includes some Jenkins support; e.g. you can add BuildConfig resources via a YAML file in the OpenShift CLI which will create a Jenkins server and a pipeline. But Jenkins X isn't yet integrated into OpenShift - but its easy to add yourself for now :)
If you are pondering which kubernetes cluster to try for developing Spring services: OpenShift is a good option if you are on premise. If you can use the public cloud then GKE on Google is super easy to use; AKS on Azure is getting there & EKS is looking like it will be good if you use AWS.
On the public clouds the managed kubernetes services are looking effectively free; you just pay for your compute + storage etc. So its hard to argue with free + managed + easy to use kubernetes - if you are allowed to use the public cloud!
jstrachan | 7 years ago | on: Jenkins X: a CI/CD solution for cloud applications on Kubernetes
jstrachan | 7 years ago | on: Jenkins X: a CI/CD solution for cloud applications on Kubernetes
Yes we can support things like parallel steps & tests spinning up separate clusters, namespaces or environments (we do this ourselves to test Jenkins X).
We delegate to an OSS tool called Skaffold to actually build docker containers that gives us the flexibility to use different approaches for docker image creation (e.g. kaniko or Google Container Builder or use the local docker daemon etc) https://github.com/GoogleContainerTools/skaffold
Using Kubernetes as an engine for orchestrating containers works very well - thats kinda what Kubernetes was designed for. Though you are free to extend & integrate tools like ActiveMQ into Kuberenetes if you think it'll help your use cases.
jstrachan | 7 years ago | on: Jenkins X: a CI/CD solution for cloud applications on Kubernetes
jstrachan | 7 years ago | on: Jenkins X: a CI/CD solution for cloud applications on Kubernetes
Promotion is either automatic or manual. By default Staging is automatic and production is manual. You can manually promote any version to any environment whenever you wish: http://jenkins-x.io/developing/promote/
For promotions we're delegating to the git repository for RBAC; so you can setup whatever roles you want for who is allowed to approve promotions & if you need code reviews etc
jstrachan | 8 years ago | on: Jenkins X: a CI/CD solution for cloud applications on Kubernetes
The default is to use separate namespaces in kubernetes for each teams developer tools & pipelines, Staging & Production environments (plus Preview Environments). Multiple teams can obviously use the same cluster with different namespaces.
We’d expect ultimately folks may want to use a separate cluster for development & testing to Production. GitOps makes that kind of decoupling pretty easy but we’ve still work to do to automate easily setting up a multi-cluster approach: https://github.com/jenkins-x/jx/issues/479
jstrachan | 8 years ago | on: Jenkins X: a CI/CD solution for cloud applications on Kubernetes
It’s mostly about automation of install, configuration, environments, pipelines & promotion with GitOps and more feedback.
Just out of interest what kind of demo would you like to see?
jstrachan | 8 years ago | on: Jenkins X: a CI/CD solution for cloud applications on Kubernetes
One of the big changes to traditional Jenkins is we don’t expect folks to have to configure Jenkins, add/remove/edit plugins or even write Dockerfiles or Jenkinsfiles.
If you really wanna do that Jenkins X won’t stop you - but we are trying to help automate and simplify CI/CD through standard tools, standard file formats (Dockerfile, Jenkinsfile, skaffold, helm etc).
Is the cloud, kubernetes, docker, helm & istio complex? Sure - but our goal is to simplify, automate & avoid folks having to look at all that detail.
It’s still early days and a challenge. Eg even Lambda & the AWS API Gateways is complex. But we hope to keep improving to make things easier to use & to help folks go faster by providing automated CI/CD as a service on any kubernetes cluster / cloud
jstrachan | 8 years ago | on: Jenkins X: a CI/CD solution for cloud applications on Kubernetes
I notice that kops recently added support for Digital Ocean https://github.com/kubernetes/kops/blob/master/docs/tutorial...
So we should be able to add a command `jx create cluster do` for using kops on DO - the current `jx create cluster aws` uses kops under the covers to spin up the kubernetes cluster.
I’ve raised this issue to track it: https://github.com/jenkins-x/jx/issues/705
Though its even cooler to use Jenkins X on OpenShift as you get automated CI/CD pipelines + Environments, Preview Environments on Pull Requests and GitOps based Promotion between environments.