Install Devtron with CI/CD integration

Before you begin

Install Helm.

Installing Devtron using Helm

  1. 1.
    Add Devtron repository
  2. 2.
    Install Devtron
Install with default configurations
Install with AWS S3 Buckets
Install with Azure Blob Storage
This installation will use Minio for storing build logs and cache.
1
helm repo add devtron https://helm.devtron.ai
2
3
helm install devtron devtron/devtron-operator \
4
--create-namespace --namespace devtroncd \
5
--set installer.modules={cicd}
Copied!
This installation will use AWS s3 buckets for storing build logs and cache. Refer to the AWS specific parameters on the Storage for Logs and Cache page.
1
helm repo add devtron https://helm.devtron.ai
2
3
helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd \
4
--set installer.modules={cicd} \
5
--set configs.BLOB_STORAGE_PROVIDER=S3 \
6
--set configs.DEFAULT_CACHE_BUCKET=demo-s3-bucket \
7
--set configs.DEFAULT_CACHE_BUCKET_REGION=us-east-1 \
8
--set configs.DEFAULT_BUILD_LOGS_BUCKET=demo-s3-bucket \
9
--set configs.DEFAULT_CD_LOGS_BUCKET_REGION=us-east-1
Copied!
This installation will use Azure Blob Storage for storing build logs and cache. Refer to the Azure specific parameters on the Storage for Logs and Cache page.
1
helm repo add devtron https://helm.devtron.ai
2
3
helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd \
4
--set installer.modules={cicd} \
5
--set secrets.AZURE_ACCOUNT_KEY=xxxxxxxxxx \
6
--set configs.BLOB_STORAGE_PROVIDER=AZURE \
7
--set configs.AZURE_ACCOUNT_NAME=test-account \
8
--set configs.AZURE_BLOB_CONTAINER_CI_LOG=ci-log-container \
9
--set configs.AZURE_BLOB_CONTAINER_CI_CACHE=ci-cache-container
Copied!
Append the command with --set installer.release="vX.X.X" to install a particular version of Devtron. Where vx.x.x is the release tag.
For those countries/users where Github is blocked, you can use Gitee as the installation source:
Install with Gitee
1
helm repo add devtron https://helm.devtron.ai
2
3
helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd \
4
--set installer.source=gitee
Copied!
If you are planning to use Devtron for production deployments, please refer to our recommended overrides for Devtron Installation.

Check Devtron installation status

The install commands start Devtron-operator, which takes about 20 minutes to spin up all of the Devtron microservices one by one. You can use the following command to check the status of the installation:
1
kubectl -n devtroncd get installers installer-devtron -o jsonpath='{.status.sync.status}'
Copied!
The command executes with one of the following output messages, indicating the status of the installation:
Status
Description
Downloaded
The installer has downloaded all the manifests, and the installation is in progress.
Applied
The installer has successfully applied all the manifests, and the installation is complete.

Check the installer logs

To check the installer logs, run the following command:
1
kubectl logs -f -l app=inception -n devtroncd
Copied!

Devtron dashboard

Use the following command to get the dashboard URL:
1
kubectl get svc -n devtroncd devtron-service \
2
-o jsonpath='{.status.loadBalancer.ingress}'
Copied!
You will get an output similar to the one shown below:
1
[[email protected] ~]$ kubectl get svc -n devtroncd devtron-service \
2
-o jsonpath='{.status.loadBalancer.ingress}'
3
[map[hostname:aaff16e9760594a92afa0140dbfd99f7-305259315.us-east-1.elb.amazonaws.com]]
Copied!
The hostname aaff16e9760594a92afa0140dbfd99f7-305259315.us-east-1.elb.amazonaws.com as mentioned above is the Loadbalancer URL where you can access the Devtron dashboard.
If you don't see any results or receive a message that says "service doesn't exist," it means Devtron is still installing; please check back in 5 minutes.
Note: You can also do a CNAME entry corresponding to your domain/subdomain to point to this Loadbalancer URL to access it at a custom domain.
Host
Type
Points to
devtron.yourdomain.com
CNAME
aaff16e9760594a92afa0140dbfd99f7-305259315.us-east-1.elb.amazonaws.com

Devtron Admin credentials

For admin login, use the username:admin, and run the following command to get the admin password:
1
kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ACD_PASSWORD}' | base64 -d
Copied!

Cleaning Devtron Helm installer

Please make sure that you do not have anything inside namespaces devtroncd, devtron-cd, devtron-ci, and devtron-demo as the below steps will clean everything inside these namespaces:
1
helm uninstall devtron --namespace devtroncd
2
3
kubectl delete -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/charts/main/charts/devtron/crds/crd-devtron.yaml
4
5
kubectl delete -n argo -f https://raw.githubusercontent.com/devtron-labs/devtron/main/manifests/yamls/workflow.yaml
6
7
kubectl delete ns devtroncd devtron-cd devtron-ci devtron-demo
Copied!

FAQs

1. How will I know when the installation is finished?
2. How do I track the progress of the installation?
3. How can I restart the installation if the Devtron installer logs contain an error?
Still facing issues, please reach out to us on Discord.