Operations | Monitoring | ITSM | DevOps | Cloud

November 2020

Continuous Code Analysis with SonarQube and Codefresh

SonarQube is a universal tool for code analysis that provides continuous inspection of your code to highlight existing and newly introduced issues. This allows you to “Clean as You Code”, which aims to reach the maximum code quality in your newly written code. This post will: The SonarQube architecture consists of a server and a SonarScanner. The Scanner is a separate client type application that is used to analyze projects in connection with SonarQube.

Creating Temporary Preview Environments Based On Pull Requests With Argo CD And Codefresh

Creating preview environments as a result of making pull requests is one of those practices that have vast potential and are yet largely overlooked. There is a strong chance that you are not using them, even though they can drastically increase productivity. I will not explain what preview environments are, besides stating that they are temporary environments created when pull requests are made and destroyed when PRs are closed.

Entering GitOps 2.0 with Codefresh and ArgoCD

In our previous article, we explained the vision behind GitOps 2.0 and the features we expect to be covered by GitOps 2.0 tools. In this article, we will see how the new Codefresh GitOps dashboard is the first step towards this vision and more specifically in the area of observability and traceability.

The pains of GitOps 1.0

GitOps as a practice for releasing software has several advantages, but like all other solutions before it, has also several shortcomings. It seems that the honeymoon period is now over, and we can finally talk about the issues of GitOps (and the current generation of GitOps tools) In the article we will see the following pain points of GitOps.

My Process Used Minimal Memory, and My Docker Memory Usage Exploded

The Docker infrastructure abstracts a lot of aspects of the creation of images and running them as containers, which we usually do not know about nor interact with. One of those aspects is the handling of the filesystem inside the container. This post is a case study on how we discovered that writing large amounts of data inside a container has side effects with memory caching. Initially, we thought that we had an issue with our source code, but this was never the case.

Managing Your Full Application Lifecycle Using #GitOps

#GitOps is nothing new. Or, to be more precise, the principles of GitOps existed long before the term was invented. But hey, that's the pattern in our industry. It is the fate of all good practices to be misunderstood, so we need to come up with new names to get people back on track. That is not to say that we are in a constant loop. Instead, I tend to think of it as a periodic reset trying to eliminate misinterpretations. GitOps is one of those resets. It fosters the practices and the ideas that existed for a while now and builds on top of them.

#GitOps: The Good, The Bad, and The Ugly

We all know what #GitOps is or what it should be. Nevertheless, not everything is full of roses and unicorns. Just as there are many benefits, we have many problems that need to be resolved both from the tooling and process perspectives. Join us in the open discussion with Viktor Farcic from #Codefresh and Adam Sandor from #ContainerSolutions

GitOps Patterns - Auto-Sync Vs. Manual Sync

The conversation usually starts with a question like “should we let ArgoCD/Flux/whatever synchronize the actual state automatically whenever the desired state changes in Git?” Truth be told, the question is usually not that elaborated, and it is more like “should I enable the auto-sync feature?” But, I wanted to save you from follow-up questions that help me better understand what that means, so I gave you a more extended and more precise version of the inquiry.

Managing Your Typescript Monorepo With Lerna and Codefresh

Managing dependencies across multiple repositories and implementing updates to multiple repositories at the same time can be a time consuming and error-prone task. Thus, organizations have taken the approach of managing multiple projects in the same repository, called a Monorepo. The benefits of using a Monorepo become clear with the right tooling. One of those tools is Lerna, which can be used to manage Node-based Monorepos.