Home / Companies / CircleCI / Blog / April 2022

April 2022 Summaries

13 posts from CircleCI

Filter
Month: Year:
Post Summaries Back to Blog
Organizations, particularly in regulated industries, often face challenges in automating CI/CD pipelines due to stringent security and release requirements. This tutorial provides a detailed guide on setting up secure, automated CI/CD pipelines using CircleCI and GitHub, addressing these concerns by implementing fine-grained access controls. It covers the use of protected branches, security groups, contexts, and approval jobs to ensure that only authorized personnel can trigger and manage deployments. For enterprise projects, this setup includes manual approvals and documentation checks before production deployment, while for open-source projects, it suggests a tiered approach to access, distinguishing between internal, semi-internal, and community contributors. The tutorial emphasizes the importance of protecting sensitive information and maintaining compliance, offering flexible solutions for both proprietary and open-source environments.
Apr 28, 2022 1,724 words in the original blog post.
Deploying a Nest.js application to Heroku can be streamlined using CircleCI for continuous deployment, a process that eliminates the traditional and tedious FTP method. This tutorial guides users through setting up a Nest.js application, creating a mock product list, and defining endpoints, before configuring continuous deployment. It requires prerequisites like Node.js, Nest CLI, a GitHub or GitLab account, and accounts on CircleCI and Heroku. Users learn to push their project to a repository, create a Heroku app, and configure CircleCI for automatic deployment by setting environment variables and updating application ports. The tutorial culminates in the successful deployment of the application to Heroku using a Procfile to specify startup commands, with the full project code available on GitHub for reference.
Apr 28, 2022 1,707 words in the original blog post.
CircleCI has enhanced its freemium plan to provide extensive CI/CD features for developers, including the introduction of self-hosted runners across all plans, with a focus on user-friendly and intuitive experiences. The platform now offers a simplified setup process that allows developers to install and configure self-hosted runners quickly through the CircleCI UI, without needing additional software. Users can organize these runners into resource classes for specific job types, and the UI provides real-time tracking and monitoring of runner activity to aid in scaling decisions and troubleshooting. The platform's enhancements are designed to accommodate various development needs, from mobile apps to firmware testing, ensuring a seamless experience for developers.
Apr 27, 2022 666 words in the original blog post.
Automation in continuous integration and continuous deployment (CI/CD) has transformed software development by reducing bottlenecks, repetitive tasks, and human errors, thus allowing developers to focus on problem-solving and creative coding. This tutorial demonstrates how to automate the deployment of a LoopBack application to Heroku using CircleCI, creating a continuous deployment pipeline that releases updates whenever changes are pushed. It builds on a previous tutorial that automated testing for LoopBack APIs, and walks through prerequisites such as installing Node.js, a JavaScript package manager, and setting up GitHub, CircleCI, and Heroku accounts. LoopBack serves as a highly extensible framework for building APIs, while Heroku provides a platform-as-a-service for cloud-based application management. The tutorial guides users through setting up Heroku, configuring CircleCI, and establishing a pipeline that automates builds and deployments, including creating models, datasources, repositories, and controllers to manage API operations. Finally, it emphasizes the benefits of CI/CD in minimizing human error and enabling developers to concentrate on more valuable aspects of development.
Apr 26, 2022 2,086 words in the original blog post.
The text provides a comprehensive guide on automating the deployment, testing, and release processes of applications using the Quali Torque orb integrated with CircleCI pipelines. Developers can focus on innovation by utilizing this combination of CI/CD workflow orchestration and environments-as-a-service, which allows triggering application environments on demand. The tutorial explains setting up a Torque account, integrating cloud accounts like AWS, and creating application environments through blueprints stored in repositories such as GitHub. It specifically outlines modeling an application environment for a sample e-commerce tool called Promotions Manager, using YAML code, and deploying it within a CircleCI workflow to test and reset environments seamlessly. The process involves configuring environment variables, using the Torque orb commands to manage sandbox environments, and running tests through CircleCI, which are detailed to enable developers to efficiently automate and streamline their continuous integration pipelines.
Apr 26, 2022 1,447 words in the original blog post.
Effective software testing strategies rely on a combination of functional and non-functional testing to ensure robust application performance and user satisfaction. Functional testing focuses on verifying that an application meets specified requirements through a variety of methods, such as unit, integration, and user acceptance testing, emphasizing the correct execution of processes. Non-functional testing evaluates aspects like performance, usability, and security, which contribute to the overall user experience but are not directly tied to specific functionalities. While functional tests are often prioritized due to their direct impact on usability and the relatively lower cost and time required for execution, non-functional tests are equally critical, particularly for identifying issues at scale. A balanced approach involving both testing types, integrated into a continuous integration and continuous deployment (CI/CD) pipeline, enhances the reliability and efficiency of software development, addressing both the accuracy and quality of code execution.
Apr 20, 2022 1,436 words in the original blog post.
The tutorial provides a comprehensive guide on automating continuous deployments of Flask applications to the PythonAnywhere hosting platform using CircleCI. It begins by outlining the prerequisites, including a PythonAnywhere hacker plan, a CircleCI account, and a GitHub account, and describes how to set up the PythonAnywhere environment with pre-installed Python libraries and scheduling capabilities. The process involves cloning a sample Flask application from GitHub, configuring it on PythonAnywhere, and setting up a virtual environment. Key steps include modifying the WSGI configuration file and ensuring the application is correctly hosted. The tutorial then explains how to integrate CircleCI for CI/CD practices, emphasizing the creation of a configuration file to automate testing and deployments using SSH keys for secure connections. Finally, it demonstrates how to verify successful deployment on PythonAnywhere and automate application reloads with a bash script, thereby enhancing the CI/CD workflow's efficiency and reliability.
Apr 19, 2022 2,259 words in the original blog post.
This tutorial explores building a quiz application API using the LoopBack framework, a Node.js and TypeScript tool for creating APIs and microservices, and demonstrates the implementation of continuous integration (CI) using CircleCI. It emphasizes the importance of CI in managing contributions from multiple developers to prevent breaking changes and ensure application stability. The guide provides detailed instructions on setting up the LoopBack project, creating models and datasources, and configuring CircleCI for automated testing and integration. The tutorial highlights the creation of a question model with CRUD operations, the setup of an in-memory database for persistence, and the configuration of a CircleCI pipeline to automate the testing process, thereby reducing human error and enhancing software quality control. It concludes by encouraging the adoption of CI practices to streamline development workflows and eliminate bottlenecks for development teams.
Apr 18, 2022 1,954 words in the original blog post.
As cybersecurity threats become increasingly frequent, relying solely on one type of software testing leaves applications susceptible to attacks, highlighting the importance of both static application security testing (SAST) and dynamic application security testing (DAST). SAST analyzes code at rest early in the development lifecycle to identify vulnerabilities such as SQL injection and buffer overflows, while DAST simulates attacks on live applications to uncover vulnerabilities visible only during execution. These methods, when combined, provide a comprehensive security testing approach that covers both pre-deployment code analysis and post-deployment vulnerability assessment. Integrating SAST and DAST into continuous integration and continuous deployment (CI/CD) pipelines enhances software security without compromising productivity by automating tests that ensure compliance with security standards. Other methodologies like interactive application security testing (IAST), runtime application self-protection (RASP), and hybrid application security testing (HAST) also contribute to a robust security strategy, with each offering unique advantages. The adoption of these testing practices helps mitigate security incidents, as they enable the detection and resolution of vulnerabilities throughout the software development process.
Apr 15, 2022 1,545 words in the original blog post.
The CircleCI Insights team undertook a significant optimization project to improve their pipeline configuration for the Insights UI, which had been causing delays in end-to-end testing and deployments with a P95 runtime of 25 minutes. By strategically rewriting their pipeline over two days, they achieved a 50% reduction in build times, reducing the P95 runtime to 12 minutes. The team emphasized the importance of understanding workflows and implementing practices such as writing atomic jobs, optimizing data flow with caching and workspaces, and using tools like Insights to identify optimization targets. They also highlighted the benefits of focusing on small, validated changes rather than large rewrites, which included skipping unnecessary processes, refactoring tasks, and parallelizing tests. This approach resulted in improved efficiency, enabling more frequent and faster deployments while maintaining the quality and security of their builds.
Apr 10, 2022 2,687 words in the original blog post.
CircleCI has introduced OpenID Connect (OIDC) identity tokens to enhance security in CI/CD workflows by allowing CircleCI jobs to authenticate with cloud providers like AWS and Google Cloud Platform without using static credentials. OIDC, which builds upon OAuth 2.0, is an authentication protocol enabling cloud services to verify user identity and securely access resources. By configuring AWS or GCP to trust CircleCI's OIDC tokens, users can streamline workflows such as uploading to cloud storage or deploying to production, while reducing the need for frequent key rotations. The process involves setting up IAM roles and identity providers in AWS, or creating workload identity pools and service accounts in GCP, to permit temporary credentials for CircleCI jobs. CircleCI also provides orbs, reusable YAML configuration packages, to simplify these integrations. Advanced configurations can include attribute-based restrictions to enforce the principle of least privilege, ensuring that only authorized jobs or users can access specific resources, thereby enhancing security and operational efficiency in automated pipelines.
Apr 07, 2022 2,462 words in the original blog post.
End-to-end (E2E) testing is a crucial practice for software development teams, ensuring that applications function as expected by simulating real user experiences and verifying the complete system. It starts from the end user’s perspective, testing user interactions and backend processes like database updates and notifications, making it an integral part of a comprehensive testing strategy that includes unit, integration, and other testing methods. E2E testing offers numerous benefits, such as expanding test coverage, ensuring application performance, reducing time to market, and saving costs by decreasing testing time, while also providing insights for developers, QA teams, managers, and users. Although it poses challenges like being time-consuming and complex to design, due to the need to replicate real-world scenarios and understand user goals, E2E testing remains valuable for its comprehensive assessment of software functionality. Implementing E2E testing involves designing test cases and initially conducting manual tests, which can evolve into automated tests integrated into CI/CD pipelines to improve efficiency and reliability. Tools like Selenium, Cypress, and Appium, among others, facilitate the automation of E2E tests, enhancing software quality by catching issues early in the development process.
Apr 05, 2022 1,979 words in the original blog post.
The tutorial provides a comprehensive guide on setting up a continuous integration and deployment (CI/CD) pipeline for a FeathersJS API using GitHub, CircleCI, and Heroku. It covers the automation of application deployment to Heroku, starting with setting up a basic FeathersJS app to manage quiz questions, and includes steps to configure Heroku and CircleCI for deploying updates automatically when new code is pushed. The tutorial emphasizes the benefits of automating deployments, such as reducing human error and enhancing quality assurance by ensuring new features are deployed only after passing tests. The process allows developers to focus more on problem-solving and innovation by handling routine tasks through automation. The guide also provides practical code snippets for creating and seeding a questions service, and encourages updating the GitHub repository with the latest changes to trigger the CI/CD pipeline.
Apr 03, 2022 2,182 words in the original blog post.