Best of CI/CDSeptember 2024

  1. 1
    Article
    Avatar of dockerDocker·2y

    Docker for Web Developers: Starting with the Basics

    Docker is a powerful containerization platform widely used by web developers for its speed, flexibility, and collaborative capabilities. It ensures consistency across environments, simplifies dependency management, enhances resource efficiency, supports scalable architectures, and allows rapid deployment and rollback. Docker's suite includes tools like Docker Compose for multi-container applications, Docker Engine for containerizing applications, and Docker Desktop for a unified development experience. These features make Docker essential for modern web development projects, offering consistency, speed, isolation, scalability, flexibility, and portability.

  2. 2
    Video
    Avatar of youtubeYouTube·2y

    Complete Backend Engineering Course in Go

    This post introduces a comprehensive backend engineering course in Go, designed to take learners from basic to advanced topics. The course aims to teach how to build RESTful APIs and other backend systems, applying the knowledge to microservices as well. The curriculum includes 21 modules, covering areas such as TCP and HTTP server development, routing, clean layered architecture, database management using the repository pattern, CRUD operations, user authentication and authorization, caching, performance optimization, and CI/CD deployment workflows. The course materials and code are available on GitHub, and the instructor emphasizes understanding concepts over mere code replication.

  3. 3
    Article
    Avatar of devgeniusDev Genius·2y

    GitHub Actions Step-by-Step Guide

    Learn how to deploy a Java Spring Boot application using GitHub Actions. This guide covers setting up a GitHub Actions workflow to build, test, and deploy the application to Docker Hub. The steps include creating a Maven project, configuring the YAML workflow file, and using Docker Hub for deployment. Securely manage Docker credentials using GitHub secrets.

  4. 4
    Article
    Avatar of communityCommunity Picks·2y

    vitodeploy/vito: The Ultimate Server Management Tool

    Vito is a self-hosted web application designed to streamline server management and deployment of PHP applications into production. It offers features like server provisioning, database management, firewall management, custom and LetsEncrypt SSL support, SSH key deployment, cron job management, and leverages Supervisor for queue handling. Ideal for deploying Laravel and other PHP applications.

  5. 5
    Article
    Avatar of medium_jsMedium·2y

    Building a Developer Platform in 2025

    Internal Developer Platforms (IDPs) are now essential for handling the complexity of modern software development. They provide centralized hubs for orchestrating the entire software lifecycle, facilitating faster delivery, standardization, and scalability. IDPs ensure developers can build, test, and ship features efficiently. Critical elements include reusable components, automated versioning, CI/CD pipelines, and AI-driven tools for improved collaboration and automation. Solutions like Bit demonstrate how composable platforms support these needs, enabling organizations to reduce costs and boost innovation.

  6. 6
    Article
    Avatar of devtronDevtron·2y

    What is Jenkins? A Quick Guide for CI/CD with Jenkins

    Jenkins is an open-source tool used to manage Continuous Integration (CI) in the software development lifecycle. It automates tasks such as code builds, tests, security scans, and Docker image builds. A Jenkins pipeline, defined by either a Jenkins file or Groovy script, orchestrates these stages. The Jenkins Controller directs tasks to Jenkins Agents, which execute them. Jenkins offers extensive plugin support, making it highly integrative and customizable, although there are challenges such as a steep learning curve and resource intensity. Notably, Jenkins is recommended primarily for CI rather than continuous deployment (CD), where tools like Devtron can provide better support.

  7. 7
    Article
    Avatar of groctogroCTO·2y

    Why Next js failed for me...

    The author describes the struggles faced while working on a large-scale project using Next.js and Postgres. Major issues included slow rendering during development and challenges managing the full codebase with both backend and frontend developers. Additionally, setting up the CI/CD pipeline was difficult, and Next.js 14's lack of support for Socket.io due to server-side rendering (SSR) limitations posed problems. The author mitigated some issues by splitting the backend and frontend but still faces slow development rendering.

  8. 8
    Article
    Avatar of communityCommunity Picks·2y

    Tests and Sensibility

    The post discusses the critical importance of software testing, debunking common excuses like 'testing takes too long' and 'we have a QA team.' Using anecdotal evidence, the author highlights that skipping tests leads to technical debt and unreliable software. They argue that writing tests is akin to an insurance policy, ensuring code reliability and fostering a trustful, productive development environment.

  9. 9
    Article
    Avatar of spaceliftSpacelift·2y

    How to Run Environment Variables in a Docker Container

    Learn how to manage environment variables in Docker, an essential practice for separating configuration from code. Discover techniques to pass environment variables to Docker containers through CLI flags, .env files, and Docker Compose. The guide also covers best practices to securely and effectively handle environment variables, including using Docker Secrets for sensitive values and maintaining a consistent naming scheme.

  10. 10
    Article
    Avatar of last9Last9·2y

    Top 10 Platform Engineering Tools in 2024

    Platform engineering is revolutionizing software development and operations by providing robust, scalable, and user-friendly platforms. This guide outlines 10 top tools in 2024, such as Kubernetes, Terraform, and Argo CD, which simplify workflows, improve collaboration, and increase efficiency. Distinguishing platform engineering from DevOps and SRE, it focuses on building technical foundations for efficient development. Key tools include infrastructure provisioning, CI/CD pipelines, and monitoring solutions that enhance developer productivity and system reliability.

  11. 11
    Article
    Avatar of communityCommunity Picks·2y

    Introducing KubeVision

    Akuity aims to enhance engineer productivity by maximizing Kubernetes usage, introducing KubeVision. The latest release, Kargo v0.8.0, advances the GitOps promotion tool to eliminate bespoke scripts. CI/CD is emphasized as critical in DevOps for automating workflows from code commit to deployment.

  12. 12
    Article
    Avatar of joindevopsDevOps·2y

    Projects for newbie

    An excellent resource for beginners to learn DevOps through hands-on projects, focusing on building an advanced automated CI/CD pipeline using AWS. Includes infrastructure as code, microservices, service mesh, and monitoring.

  13. 13
    Article
    Avatar of dockerDocker·2y

    Exploring Docker for DevOps: What It Is and How It Works

    Docker integrates seamlessly with DevOps practices to improve efficiency, collaboration, and code quality. It allows developers to work in standardized, lightweight containers, facilitating continuous integration and deployment (CI/CD) processes. Docker offers benefits such as faster deployments, resource efficiency, and consistent environments across development, testing, and production. However, challenges include a steep learning curve, security concerns, and managing container images.

  14. 14
    Article
    Avatar of spaceliftSpacelift·2y

    Top 20 DevOps Testing Tools to Try in 2024

    DevOps testing tools are crucial for maintaining quality and security in software development. This list highlights 20 tools for diverse testing needs, including platforms like BrowserStack, Jenkins, Postman, Cypress, and Selenium. Each tool offers unique features such as real device testing, API testing, cross-browser compatibility, and load testing. Choosing the right tools can integrate seamlessly with your existing CI/CD workflows and help detect regressions before reaching users.

  15. 15
    Article
    Avatar of communityCommunity Picks·2y

    7 Best Test Automation Tools to Supercharge Your Software Testing Efficiency

    Test automation is crucial for enhancing the speed, accuracy, efficiency, and cost-effectiveness of software testing. By automating repetitive tasks, it allows human testers to focus on more complex responsibilities. Popular tools like Keploy, Katalon, Selenium, Appium, TestComplete, Cypress, and Siege each offer unique features suitable for various aspects of testing, including web, mobile, API, and performance tests.

  16. 16
    Article
    Avatar of baeldungBaeldung·2y

    Deploying a Java App on Heroku

    Learn how to deploy a simple Spring Boot Java app to Heroku. The tutorial covers project setup, Heroku CLI usage, Maven Plugin configuration, GitHub and GitLab CI/CD integration, and Docker deployment. Key steps include creating necessary configuration files, initializing Heroku projects, using Git for deployment, and exploring different deployment methods such as CLIs and Docker.

  17. 17
    Article
    Avatar of kramtiKramti·2y

    Docker In Nutshell + Docker Cheat Sheet

    A comprehensive guide for beginners on Docker, covering its usage, the problems it solves, and key terminology such as images and containers. It includes steps to install Docker on Windows using WSL and Docker Desktop, and provides a useful Docker Cheat Sheet for quick reference.

  18. 18
    Article
    Avatar of spaceliftSpacelift·2y

    DevOps Maturity Model : Levels, Metrics & Benefits

    Organizations looking to enhance their software development and delivery processes can benefit from a DevOps maturity model. This framework helps assess the current level of DevOps adoption, providing a structured path for improvement across processes, tools, culture, and automation. The model typically includes five levels: Initial, Managed, Defined, Measured, and Optimized. Measuring DevOps maturity involves tracking metrics such as deployment frequency, lead time, and mean time to recovery. Implementing a DevOps maturity model results in continuous improvement, better collaboration, and more efficient processes.

  19. 19
    Article
    Avatar of newstackThe New Stack·2y

    For Infrastructure as Code, CI/CD Can Beat Terraform

    With the evolving DevOps landscape and the influx of modern CI/CD tools like Jenkins, GitHub Actions, and Argo CD, the relevance of TACOS (Terraform Automation and Collaboration Software) is being questioned. Managing a dedicated TACOS pipeline introduces complexity, potential security risks, and fragmentation. Consolidating IaC into existing CI/CD platforms can streamline processes, reduce cognitive load, and improve efficiency across development and infrastructure teams.

  20. 20
    Article
    Avatar of communityCommunity Picks·2y

    FluxCD Multi-cluster Architecture

    Explore how Flux CD deploys and manages continuous delivery in a Kubernetes multi-cluster environment. Learn about its components, including various controllers for different CD tasks. Understand deployment strategies like standalone vs. hub and spoke, their pros and cons, and how Flux can be scaled horizontally and vertically to manage large clusters. Security, maintenance, and operational aspects of these setups are also discussed.

  21. 21
    Article
    Avatar of bartwullemsThe Art of Simplicity·2y

    Github–Create a new release–The automated version

    Learn how to automate the process of creating a GitHub release using GitHub Actions. Follow a detailed step-by-step guide for setting up a workflow that triggers on tag pushes, checks out the repository, archives outputs, creates a release, and uploads release assets.

  22. 22
    Article
    Avatar of itnextITNEXT·2y

    Dockerfile-less and Daemon-less Build

    In the evolving software development landscape, alternatives like Buildpack and Kaniko offer ways to build Docker images without needing a Dockerfile or Docker daemon. These tools simplify and enhance CI/CD workflows, providing agility and security in isolated environments. Buildpack can automatically detect the programming language and build tools for a project, streamlining the image-building process compared to traditional Docker methods.

  23. 23
    Article
    Avatar of devshavenDevs Haven·2y

    Step-by-Step Guide to Deploying a Project to Vercel using GitHub Actions for Free

    Guide to deploying projects to Vercel for free using GitHub Actions. Covers necessary prerequisites such as having GitHub and Vercel accounts, a project hosted on GitHub, and a basic understanding of GitHub and Vercel.

  24. 24
    Article
    Avatar of asayerasayer·2y

    Deploying Your Code: The Blue-Green Strategy

    Blue-green deployment is a method in DevOps that involves maintaining two parallel environments (blue and green) to ensure smooth updates with minimal downtime. The strategy reduces downtime by testing updates in a green environment before switching user traffic from the blue environment. It also allows easy rollback to the previous version if issues arise. This approach is beneficial for risk mitigation, seamless updates, and iterative improvements. However, it can be costly and complex, particularly in terms of resource management and scaling.

  25. 25
    Article
    Avatar of phpdevPHP Dev·2y

    Deploy laravel project with vercel

    Learn how to deploy a Laravel project on Vercel with useful tips for managing JavaScript and CSS files effectively.