This page describes how to quickly get started with PipeCD on Kubernetes.

This guides you to install PipeCD in your kubernetes and deploy a helloworld application to that Kubernetes cluster. For further reading about PipeCD’s ideas, please visit overview and concepts.


1. Cloning pipe-cd/manifests repository

Navigate to the root of the repository once cloned.

git clone https://github.com/pipe-cd/manifests.git
cd manifests

2. Installing control plane

helm -n pipecd install pipecd ./manifests/pipecd --dependency-update --create-namespace \
  --values ./quickstart/control-plane-values.yaml

3. Accessing the PipeCD web

PipeCD comes with an embedded web-based UI. First up, using kubectl port-forward to expose the installed control-plane on your localhost:

kubectl -n pipecd port-forward svc/pipecd 8080

Point your web browser to http://localhost:8080 to login with the configured static admin account.

Enter the project name, username and password. Be sure to give the following:

  • Project Name: quickstart
  • Username: hello-pipecd
  • Password: hello-pipecd

4. Adding an environment

Go to the Environment tab at Settings page and click on the Add button to add a new Environment to the project.

Then you give the environment name and its description as shown below:

After filling out the form, click on the Save button.

5. Installing a piped

Before running a piped, you have to register it on the web and take the generated ID and Key strings.

Navigate to the Piped tab on the same page as before, click on the Add button. Then you enter as:

Click on the Save button, and then you can see the piped-id and secret-key. Be sure to keep a copy for later use.

Open ./quickstart/piped-values.yaml with your editor and:

  • replace FORKED_REPO_URL with forked repository of Examples, such as https://github.com/YOUR_ORG/examples.git
  • replace YOUR_PIPED_ID with the piped-id you have copied before

You can complete the installation by running the following after replacing {YOUR_PIPED_SECRET_KEY} with what you just got:

helm -n pipecd install piped ./manifests/piped \
  --values ./quickstart/piped-values.yaml \
  --set secret.pipedKey.data={YOUR_PIPED_SECRET_KEY}

6. Configuring a kubernetes application

Navigate to the Application page, click on the Add button. Then give as:

While you can see the select box for the deployment config template, skip it at this point.

After a bit, the first deployment would be complete automatically to sync the application to the state specified in the current Git commit.

7. Let’s deploy!

Let’s get started with deployment! All you have to do is to make a PR to update the image tag, scale the replicas, or change the manifests.

For instance, open the kubernetes/canary/deployment.yaml under the forked examples' repository, then change the tag from v0.1.0 to v0.2.0.

After a short wait, a new deployment will be started to update to v0.2.0.

8. Cleanup

When you’re finished experimenting with PipeCD, you can uninstall with:

helm -n pipecd uninstall piped
helm -n pipecd uninstall pipecd
kubectl delete deploy canary -n pipecd
kubectl delete svc canary -n pipecd

What’s next?

You want to know some details on how to set up for a production environment? Visit Operating Control Plane at first. After reading that, the Operating Piped page will be for you.