Category Archives: CI/CD

Continuous integration in software engineering is the practice of merging all developer working copies to a shared mainline several times a day.

Continuous delivery is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, when releasing the software, doing so manually. It aims at building, testing, and releasing software with greater speed and frequency.

ArgoCD: Okta integration, and user groups
0 (0)

17 May 2021

In the previous post ArgoCD: users, access, and RBAC we’ve checked how to manage users and their permissions in ArgoCD, now let’s add an SSO authentification. The idea is that we don’t add user accounts locally in the ArgoCD’s ConfigMap, but instead will use our Okta users databases and Okta will perform their authentication. And… Read More »

Loading

Github: Github Actions overview and ArgoCD deployment example
0 (0)

7 May 2021

Github Actions actually is very similar to the TravisCI, but have much more closer integration with Github, and even its interface is included in the Github WebUI: So, let’s take a closer look at its abilities, how to use it, and in the following posts will deploy its self-hosted runners to a Kubernetes cluster and will… Read More »

Loading

Jenkins: running workers in Kubernetes and Docker images build
0 (0)

27 February 2021

We have a Jenkins instance that is running jobs in Docker containers on its host. Eventually, we’ve faced with an issue when the current AWS Ec2 instance t2.2xlarge (8 CPU, 32 RAM) during peak workload periods was too overloaded – not enough CPU time, not enough memory. So, the first solution could be to proceed… Read More »

Loading

ArgoCD: a Helm chart deployment, and working with Helm Secrets via AWS KMS
0 (0)

22 November 2020

In the previous post ArgoCD: an overview, SSL configuration, and an application deploy we did a quick overview on how to work with the ArgoCD in general, and now let’s try to deploy a Helm chart. The most interesting part of this is how to enable the Helm Secrets. Had some pain with this, but… Read More »

Loading

ArgoCD: an overview, SSL configuration, and an application deploy
0 (0)

22 November 2020

ArgoCD helps to deliver applications to Kubernetes by using the GitOps approach, i.e. when a Git-repository is used as a source of trust, thus all manifest, configs and other data are stored in a repository. It can b used with Kubernetes manifest, kustomize, ksonnet, jsonnet, and what we are using in our project – Helm-charts.… Read More »

Loading

Jenkins: Redis deployment, and Helm subchart values
0 (0)

1 November 2020

The task is to create a Jenkins job to deploy Redis to Dev/Stage/Prod Kubernetes clusters. In the Redis: running Master-Slave replication in Kubernetes we did it manually to see how it’s working, now it’s time to automate it. The main question is how to pass parameters for different environments during the deployment? I’d like to… Read More »

Loading

Kubernetes: running SQL migrations with Kubernetes Job and Helm hook
0 (0)

27 October 2020

We have a project running in Kubernetes that needs to run SQL migrations during deployment. To run migrations need to clone a Github repository and run actually migrations stored in it. Currently, this is done with Kubernetes initContainers , and there are two of them – the first one with git clones the repository with… Read More »

Loading

Helm: helm-secrets – sensitive data encryption with AWS KMS and use it with Jenkins
0 (0)

16 May 2020

So, as a follow-up to the Helm: Kubernetes package manager – an overview, getting started post – let’s discuss about sensitive data in our Helm charts. What I want is to store a chart files in a repository, but even if such a repo will be a private Github repo – I still don’t want… Read More »

Loading

Helm: Kubernetes package manager – an overview, getting started
0 (0)

3 May 2020

The official documentation calls Helm as a “The package manager for Kubernetes“, but in fact, Helm is something bigger than just a package manager – it’s more an application controlling tool for their installation, managing, upgrading, configuration, etc. In this post, we will take an overview of Helm in general, its Charts, templates, variables, and… Read More »

Loading