GitOps made easy

If you're just starting out on your automation journey then Portainer is your perfect partner.

Portainer_Illustrations_Screen data -P in action copy
Velocity Icons_Governance platform manag

Automating your CI/CD software development pipeline with Portainer

Kubernetes and automation go hand in hand, with more and more organizations using a DevOps style workflow to improve the efficiency of software creation. As containers continue to shape the DevOps landscape, the ability to automatically deploy code into specific environments is key to driving out the full spectrum of benefits. However, the last mile of the process is often the longest…

Portainer is a GUI and API-based Kubernetes operating platform that gives you the ability to integrate with any Git-based system to automate the deployment of applications into Docker and Kubernetes environments based on instructions held in the repo. Unlike other CD systems, Portainer offers both Push (your CI system tells Portainer there are changes) and Pull (Portainer checks for changes on a regular basis) based notifications.

The Portainer Git integration works by linking an application deployment to a git repo (where Portainer sources compose or manifest files), and then monitoring that repo for changes. If changes occur, Portainer can either let the user manually “pull and update” or the user can enable automatic updates should they want a “set and forget” model.


Portainer BE Icons_performance

Key benefits

  • Fully automated end to end GitOps
  • Extremely simple setup and use
  • No vendor lock in (connect to any CI you like)
  • No need to run anything inside your cluster; the gitops engine is built right into Portainer

Once you’ve got your app up and running, Portainer will let you:

  • Observe the performance and behavior of your application
  • Control who can do what to the environment with fine grained permissions
  • Create an audit log of who did what and when

To get started, all you need to do is install Portainer in your environment, which is a simple process easy if you follow these instructions. Once you’ve got Portainer up and running and your app up and running the process of setting the rules is straightforward

Case study: GitOps powered by Portainer

This customer is restricted to deploying Windows containers in a Docker Swarm environment. They are using Azure as their Cloud provider and run a fully automated deployment process.

To let their Development teams, partners and customers access container logs, terminal, file share and other detailed information they needed an easy way to use self-service portal. In addition, the IT Ops team were using command line tooling to control when updates were rolled out to their internal / external customers which was cumbersome and error-prone. They needed a better tool set integrated into their CI/CD environment.

The customer selected Portainer because it gives them a GUI based self- service platform with Azure’s Active Directory and integrates via the Portainer API into their CI/CD system.

With Portainer, the customer has a self-service portal that is equipped natively with OAuth integrated into their existing Azure Active Directory systems. The portal enforces a range of security controls which are easily managed with Portainer’s security policies.

Using the Portainer API, Portainer is integrated into the customer’s CI automation tooling to create new application deployments. These deployments are linked with Git, which sources the required deployment specifications from a compose file and environment variables file contained within the repo. The ability for Portainer to allow an application to be automatically updated based on an underlying Git repo is a key enabler for this transition from CLI to UI.

Thanks to Portainer, the customers environment is fully automated, and users have an easy to use Portal in which to triage their applications.