Home / Companies / CircleCI / Blog / September 2022

September 2022 Summaries

10 posts from CircleCI

Filter
Month: Year:
Post Summaries Back to Blog
Reliability is crucial for software delivery teams, as IT outages can cost organizations up to $1 million per hour and damage reputations. Chaos testing, a component of chaos engineering, is a method used to improve software reliability by simulating failures and testing how applications respond to them. Originating at Netflix with the Chaos Monkey tool, chaos engineering has evolved to include a suite of tools that introduce various failure scenarios. Benefits of chaos testing include gaining insights into system operations, enhancing reliability by identifying flaws, and stress-testing incident responses. However, challenges include the necessity of having a clear hypothesis and model, the risk of unintended damages, and the importance of robust observability tools. Chaos testing has become integral to DevOps practices, with platforms like Gremlin and Chaos Mesh automating the process. These tests are particularly valuable in cloud-native systems, where microservices depend on each other, allowing developers to understand and improve system reliability in a controlled environment.
Sep 29, 2022 1,370 words in the original blog post.
Vela Games, the developer of the multiplayer online co-op game Project-V, faced bottlenecks in their Jenkins CI infrastructure due to the sequential nature of their build pipeline, prompting a migration to CircleCI to improve efficiency. By leveraging Unreal Engine's BuildGraph technology and CircleCI’s dynamic configuration with self-hosted runners, Vela Games significantly reduced build times by up to 85% in optimal scenarios. This approach involves parallelizing build processes across multiple agents, facilitating faster compilation, cooking, and packaging of Unreal Engine projects, specifically demonstrated with a first-person shooter example. The tutorial outlines the setup of self-hosted runners using Terraform, the creation of a BuildGraph script, and a Python translation layer to convert BuildGraph’s JSON graphs into CircleCI’s YAML format, ultimately enhancing build automation and efficiency for Unreal Engine projects.
Sep 28, 2022 5,605 words in the original blog post.
The tutorial outlines the process of deploying a Vue.js application using Firebase and CircleCI to create a continuous deployment (CD) pipeline. It begins by setting up a local demo project and running unit tests to ensure everything functions correctly. The guide then walks through creating a Firebase project, initializing Firebase hosting, and connecting the local Vue project to Firebase using the Firebase CLI. It explains configuring CircleCI to automate testing and deployment, including installing necessary tools, running application tests, building for production, and deploying to Firebase. The tutorial highlights the importance of using a service account for Firebase authentication during deployment and advises on setting up environment variables for CircleCI to manage credentials securely. The overall aim is to demonstrate how Firebase and CircleCI can facilitate a streamlined CI/CD process for Vue.js projects.
Sep 26, 2022 1,423 words in the original blog post.
The text provides a comprehensive tutorial on how to host a React application on Firebase by setting up a continuous deployment pipeline using CircleCI. It covers the prerequisites, such as having Node.js, Firebase CLI, a CircleCI account, and familiarity with React, before guiding the reader through cloning a demo project, setting up a Firebase project, and configuring Firebase hosting. The tutorial details the steps to install Firebase tools, initialize a Firebase project, and configure CircleCI for deployment, including generating a FIREBASE_TOKEN for authentication and linking the project to a GitHub repository. The tutorial concludes with the successful deployment of the React application to Firebase, highlighting that these steps can be applied to both existing and new React applications.
Sep 21, 2022 1,473 words in the original blog post.
Microservice architecture is a design pattern where a business application comprises individual, functional services that can scale independently, offering flexibility and reduced risk when implementing changes. This architecture contrasts with the monolithic design, which traditionally utilizes a single database for the entire application. In microservices, each service often has its database, but this decentralized model introduces challenges, particularly in managing queries and transactions across services. To address these, various database management patterns are used, such as the database-per-service pattern, Saga pattern, API composition pattern, and event sourcing pattern. The article explores two prominent data storage approaches for microservices: polyglot persistence and multi-model databases. Polyglot persistence allows each microservice to utilize a specialized database suited to its needs, supporting diverse data models like relational, graph, or document-based. Meanwhile, multi-model databases provide a single engine capable of handling multiple data types, offering ease of management and a unified semantic model. The choice between these approaches depends on factors like enterprise size, team expertise, and specific use case requirements. Polyglot persistence is recommended for large enterprises with dedicated database teams, while multi-model databases can benefit startups looking for simplified management. As microservices gain popularity, understanding these patterns and storage solutions becomes vital for optimizing development processes.
Sep 21, 2022 1,677 words in the original blog post.
To optimize the execution time of XCUITest on iOS simulators, the article demonstrates how to leverage CircleCI's features such as test splitting and parallelism in conjunction with fastlane. As iOS application code expands, automated tests can significantly extend CI/CD build times, thereby slowing development. By using CircleCI, developers can reduce execution time through multiple resource classes, dependency caching, and parallel test runs. The tutorial outlines steps like pre-building tests, running them on multiple macOS VMs, and utilizing timing-based test splitting for efficient distribution across parallel environments. This approach not only minimizes test execution time but also enhances cost efficiency, as CircleCI charges based on macOS VM usage rather than parallelism. The method is particularly useful for improving performance in iOS application development.
Sep 19, 2022 1,099 words in the original blog post.
Vue.js, a progressive JavaScript framework, is widely used for building reusable components for web user interfaces due to its intuitive API and front-end flexibility. This tutorial guides readers through creating a simple user listing application with Vue.js, including setting up the project with create-vue, building components like UserList and NavBar, and integrating Bootstrap for styling. It also covers unit testing with Vitest and Vue Test Utils to ensure component functionality and demonstrates setting up a continuous integration pipeline using CircleCI to automate testing. The tutorial emphasizes the importance of CI in maintaining software quality and reliability by automating the build and test processes, and it provides a detailed walkthrough of configuring CircleCI for a Vue.js project.
Sep 13, 2022 2,192 words in the original blog post.
The article emphasizes the importance of rigorous security testing for mobile applications to minimize risks to users and businesses. It outlines common vulnerabilities such as insecure data storage, memory leaks, and supply chain issues, and proposes several security testing approaches like vulnerability scanning, penetration testing, risk assessment, and posture assessment to address these issues. The article also highlights the benefits of security testing, including compliance with industry standards, building user trust, identifying and mitigating vulnerabilities, and minimizing costs related to security incidents. Techniques like Static, Dynamic, and Interactive Application Security Testing (SAST, DAST, IAST) are discussed alongside authentication, authorization, and encryption testing as effective methods to enhance security. The article suggests automating these tests through continuous integration (CI) to maintain a secure development process, recommending tools such as CircleCI for embedding security scans into development workflows. The conclusion stresses that a proactive and automated approach to security testing is crucial for protecting user data and maintaining the integrity and trustworthiness of mobile applications.
Sep 08, 2022 2,165 words in the original blog post.
In a tutorial focused on deploying a Dockerized Laravel application to Microsoft Azure using GitHub for version control, readers learn how to manage a Laravel API project by building a container image, pushing it to the Azure container registry, and creating an Azure web service linked to the container. The tutorial, which requires familiarity with Laravel, PHP, Docker, GitHub, and CircleCI, outlines the process of setting up the application locally, creating and configuring an Azure container registry, and automating deployments using CircleCI. This comprehensive guide emphasizes the importance of continuous deployment for efficient development cycles, highlighting the integration with CircleCI to automate testing, building, and pushing of container images to Azure. By the end of the tutorial, users will have a streamlined deployment process that automatically updates the Azure web app each time changes are pushed to GitHub, ensuring faster release cycles and higher quality code.
Sep 07, 2022 2,085 words in the original blog post.
Mobile performance testing is essential for ensuring that mobile applications perform well under various workloads and stressors, thereby enhancing user satisfaction and preventing customer churn in a competitive market. By identifying and addressing performance bottlenecks before release, developers can deliver stable and reliable apps that meet high user expectations. The testing process involves various subtypes, such as spike, load, volume, stress, and soak testing, each providing insights into the app's performance capabilities and limitations. Integrating mobile performance testing into a continuous integration (CI) pipeline streamlines the development process, reduces time to market, and allows for faster detection and resolution of issues. Tools like LoadNinja, Apache JMeter, and WebLOAD facilitate these tests, making them more manageable. Automated performance testing in a CI/CD environment ensures that apps are market-ready, reliable, and capable of delivering a consistent user experience, with CircleCI cited as a supportive platform for efficient mobile app development.
Sep 01, 2022 1,456 words in the original blog post.