Getting to Know Jenkins
CI/CD is an imperative for software development organizations in today’s multiplatform, multi-cloud world. As far as CI/CD platforms go, Jenkins was one of the first and remains one of the most popular options. Jenkins is lightweight, easy, and extensible. The multitude of plugins available make the platform endlessly customizable and adaptable to any workflow. As soon as your Jenkins slave is online, you can start running remote shell commands with a freestyle job.
Jenkins can also be a double-edged sword though: plugin mismatches, slave configuration drift, CPU spikes, and disk exhaustion can arise. If you are still running Jenkins on traditional VMs or bare-metal infrastructure, some of these symptoms may be familiar to you. Even with the high-value features of CloudBees such as improved RBAC and folder permissions, Operations Center, and Elasticsearch-based monitoring, Jenkins can be difficult to manage for large organizations with high-capacity needs, limited infrastructure, and a diverse population of users. While CI/CD has become critically important for organizations to stay competitive and Jenkins is one of the most widely used solutions in this space, a host of issues can occur while using Jenkins without frequent planning and a skilled support team.
CI/CD with Containers
The combination of CI/CD and software containers can immediately address some of the challenges just mentioned. Containers images can be used as immutable, ephemeral Jenkins slaves, nearly eliminating the possibility of drift. Container images can also be used for the Jenkins Master, then scaling out to a new master becomes as easy as a few clicks. Disk space exhaustion becomes as easy as a docker container prune
command. CI/CD using software containers is a compelling use case, and is slowly becoming the new norm for development organizations. Aside from Jenkins, this is the core behavior of other CI/CD tools such as Drone, GitLab, Codefresh, and CircleCI.
CloudBees Core on Kubernetes
CloudBees Core marries the enterprise-readiness of CloudBees Jenkins with the scalability and simplicity of container-powered CI/CD. Leveraging Kubernetes as an underlying platform, CloudBees Core allows organizations to scale CI/CD more easily and simplify the management of Jenkins across the organization.
At Perficient, we are big fans of CloudBees, containers, and Kubernetes, and we want to help organizations accelerate their implementation journey. Our CloudBees Core Jump Start is meant to do just that. Whether you are considering a hosted Kubernetes offering on public cloud or on-premises options such as OpenShift Container Platform and Pivotal Container Service, we have the skills to help you stand up the cluster and get started. Engage us today to discuss in detail and learn more about what Perficient has to offer around these technologies. Also, feel free to browse our GitHub repository to learn more about the tools we use and our approach.