This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# GitHub Container Registry API URL for trivy-db container package | |
API_URL="https://api.github.com/orgs/aquasecurity/packages/container/trivy-db/versions" | |
# Function to run jq using Docker | |
docker_jq() { | |
docker run --rm -i alpine:latest sh -c "apk add --no-cache jq > /dev/null 2>&1 && jq $*" | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def components = ["component1", "component2", "component3", "component4", "component5"] | |
def processComponent(component) { | |
echo "Processing $component..." | |
// Add your processing logic here | |
sleep 2 // Simulating some processing time | |
echo "$component processed." | |
} | |
stage('Process Components') { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.ArrayList | |
import hudson.model.*; | |
// Remove everything which is currently queued | |
def q = Jenkins.instance.queue | |
for (queued in Jenkins.instance.queue.items) { | |
q.cancel(queued.task) | |
} | |
// stop all the currently running jobs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Streamlining DevOps: The Power of Automated DORA Metrics and Actionable Thresholds | |
## Introduction | |
Welcome to the ever-evolving world of DevOps, where precision and agility are paramount. For professionals across the spectrum, from beginners to veterans, mastering DORA (DevOps Research and Assessment) metrics is a critical step. These metrics – Deployment Frequency, Lead Time for Changes, Change Failure Rate, and Time to Restore Service – act as key indicators of your DevOps health. However, the real magic happens when you automate these metrics and establish insightful thresholds to trigger actions. Let's delve into how this approach not only simplifies your process but significantly elevates your DevOps game. | |
## Why Opt for Automation? | |
### 1. **Real-Time Data for Proactive Management** | |
Imagine having a dashboard that updates you instantly on your team's performance. Automated DORA metrics provide these updates, enabling you to tackle issues promptly and maintain a streamlined workflow. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Incorporating Solo Work into Pairing-Based Teams: Striking the Right Balance | |
**Introduction** | |
In the world of Agile and DevOps, pairing has established itself as a cornerstone practice, particularly in software development. Pair programming, where two developers work together at one workstation, is not just a technique to improve code quality but also an excellent way to share knowledge and foster team collaboration. However, it's crucial to recognize the importance of solo work in these environments. Balancing pairing with opportunities for individual work can lead to even greater productivity and job satisfaction. This blog explores how to effectively incorporate solo work into pairing-based teams. | |
**Understanding the Need for Solo Work** | |
Before we delve into strategies, it's important to understand why solo work is necessary even in a pairing-centric environment. Solo work offers several benefits: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
**Title:** | |
"Enhancing DevOps: Beyond DORA Metrics - A Holistic Measurement Strategy" | |
**Introduction:** | |
Our previous exploration into the limitations of DORA (DevOps Research and Assessment) metrics highlighted their importance in measuring software development team performance while acknowledging their constraints. This follow-up post aims to expand on these insights, integrating real-world case studies and actionable strategies to create a more comprehensive approach to DevOps success measurement. | |
**1. Understanding DORA Metrics and Their Limitations:** | |
We revisit the core aspects of DORA metrics - their focus on deployment frequency, change lead time, change failure rate, and mean time to recover. We'll address common criticisms such as their potential for encouraging velocity over value, the risk of oversimplification, and the danger of 'gaming the system.' | |
**2. Real-World Case Studies:** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
**Introduction:** | |
In the ever-evolving landscape of software development, reaching the Maintenance Mode phase is both an achievement and a new challenge. This stage, often misunderstood, is where a software project transitions from active development of new features to a focus on supporting and enhancing the existing codebase. It’s a critical period that ensures the long-term success and sustainability of a software product. In this post, we’ll explore the best practices and strategies for effectively managing the Maintenance Mode of a software project. | |
**Understanding Maintenance Mode:** | |
Maintenance Mode is not about stagnation; it’s about stability and reliability. This phase typically involves: | |
1. **Bug Fixes and Minor Enhancements**: Addressing existing issues and making small improvements. | |
2. **Performance Optimization**: Enhancing the efficiency and responsiveness of the application. | |
3. **Security Updates**: Keeping the software secure against new vulnerabilities. | |
4. **Compatibility Maintenance**: Ens |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Understanding the Limitations of DORA Metrics in DevOps: A Balanced Perspective | |
## Introduction | |
In the rapidly evolving tech industry, the DORA (DevOps Research and Assessment) metrics have emerged as a popular tool for measuring software development team performance. However, as with any measurement system, it's crucial to understand its limitations. In this blog post, we'll explore some critiques of the DORA metrics and provide insights on how to use them effectively. | |
### The Emphasis on Velocity | |
DORA metrics often focus on velocity, gauging the frequency of code deployments. While this can indicate efficiency, it's not always a reliable measure of software quality or value. High deployment rates might not equate to meaningful contributions to the project or the end user. | |
### The Risk of Reductionism | |
Additionally, DORA metrics concentrate on a limited set of indicators, potentially oversimplifying the complex landscape of software development and delivery. This reductionist approach can obscure vital |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Bash best practices and style-guide | |
Just simple methods to keep the code clean. | |
Inspired by [progrium/bashstyle](https://github.com/progrium/bashstyle) and [Kfir Lavi post](http://www.kfirlavi.com/blog/2012/11/14/defensive-bash-programming/). | |
## Quick big rules | |
* All code goes in a function | |
* Always double quote variables |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
MAX_CONCURRENCY=10 # max task slots | |
sub_task() { | |
sleep $(( ( RANDOM % 10 ) + 1 )) | |
echo "Task $1 finished at $(date)" | |
} | |
mkfifo testfifo |
NewerOlder