Skip to main content

3 posts tagged with "artifact management"

View All Tags

Building Securely and Efficiently: A Modern Approach to Native Build Processes

· 8 min read
Christopher McArthur
C++ DevOps Expert

The software development landscape is a nebulous. On one front, developers strive to craft innovative features at breakneck speed before requirements change. On another, security threats loom, constantly evolving to exploit vulnerabilities. In this environment, a robust and secure build process is no longer a luxury, it's a necessity as software supply chain attacks become more sophisticated.

This guide introduces the high-level designing a native C or C++ build process that prioritizes both speed and security.

Distributing the Build Work

Imagine a factory with multiple assembly lines, each focused on a specific part of the product. This parallel approach increases efficiency and speeds up production. Similarly, in a build process, distributing work of various modules across multiple machines creates parallel build pipelines, leading to faster builds and improved scalability. This can be achieved through various means:

Layer by Layer: Navigating C++ Dependencies with Precision

· 6 min read
Christopher McArthur
C++ DevOps Expert

The ever-evolving world of C++ development unlocks incredible possibilities, but one persistent challenge haunts programmers: dependency management. While libraries often steal the spotlight, the true scope of dependencies extends far beyond. It encompasses the entire toolchain ecosystem, from the compilers and operating systems used to craft your code for the operating systems where it ultimately executes on.

Imagine building a spacecraft. While the engine is undeniably crucial, neglecting the guidance system, navigation tools, and communication equipment would be disastrous. Similarly, focusing solely on libraries paints an incomplete picture. Every software tool you utilize, from the ground up, contributes to the final product's functionality, stability, and maintainability.

This guide delves into the intricate tooling and dependencies, exploring the various categories, offering effective management strategies, and practical examples across diverse project types. By venturing beyond the surface level of libraries, we equip you with the knowledge and tools to navigate the dependency landscape with confidence and efficiency, ensuring your C++ projects reach their full potential.

Revolutionizing C++ Development: A DevOps Odyssey

· 4 min read
Christopher McArthur
C++ DevOps Expert

In the ever-evolving landscape of C++ development, challenges abound, but the journey to overcome them has a powerful ally: DevOps. The annual ISO committee's survey paints a vivid picture of the hurdles faced by C++ developers, but within these challenges lie opportunities for transformation through DevOps principles and cutting-edge technologies like Artifact Management, Infrastructure as Code (IaC), and Platforms as a Service (PaaS).

Unveiling the Challenges

The 2023 ISOCPP Survey echoes the sentiments of C++ developers grappling with key issues:

  1. Managing libraries my application depends on: 83%
  2. Build times: 81%
  3. Setting up a continuous integration pipeline from scratch: 72%
  4. Managing CMake projects: 67% (MakeFiles MSBuild)
  5. Setting up a development environment from scratch: 67%