February 2019 Summaries
9 posts from CircleCI
Filter
Month:
Year:
Post Summaries
Back to Blog
In 2018, CircleCI embarked on a comprehensive redesign of its competency matrix to provide a clearer career growth path for its engineers, addressing the outdated framework that failed to align with the organization’s evolved values. This process, which took about eight months, involved significant collaboration and introspection to ensure the new matrix was both reflective of the company's core values and practical for evaluating performance and planning growth. The redesign aimed to balance current organizational standards with aspirational goals and involved defining competencies across different engineering levels. Key to the process was assigning the project as a priority to a dedicated leader, aligning stakeholders on the goals, and incorporating feedback from those affected by the changes. The matrix was not only intended to streamline internal growth but also to enhance hiring processes and external communication. Despite the challenges, the effort resulted in a framework that encourages continual feedback and iterative improvement, underscoring the importance of a well-structured career development path in nurturing employee growth.
Feb 28, 2019
2,544 words in the original blog post.
CircleCI orbs, components of the company's open-source ecosystem, have proliferated to over 405 entries in the Orb Registry, with significant contributions from the user community and the Technology Partner Program. These orbs facilitate various tasks, from configuring third-party tools to simplifying CircleCI configurations. The development and deployment of orbs require a sustainable pipeline for automation to minimize manual interventions like git pull and orb publish commands. Effective orb maintenance involves multiple testing levels, including schema validation, runtime, and integration testing. Automated deployment is crucial for managing orbs efficiently, with CircleCI offering tools to publish and promote orbs through its CLI. This process enhances the developer experience by ensuring that orbs are built, tested, and deployed in an automated, reliable manner, minimizing manual errors and increasing productivity. The Azure CLI orb serves as a practical example of this automated process, showcasing workflows for validation, testing, and deployment.
Feb 26, 2019
1,403 words in the original blog post.
In the fast-paced world of software development, speed and efficiency are critical, with continuous integration and continuous deployment (CI/CD) tools like CircleCI playing a crucial role. Open source software components are valuable for their ability to expedite development by providing pre-built functionalities, but they can introduce security vulnerabilities if not carefully managed. The WhiteSource CircleCI orb offers a solution by integrating automated, continuous tracking into the software development lifecycle (SDLC) to identify and flag vulnerable open source components early on, thereby preventing potential security risks before they reach production. This integration facilitates a more secure development process by allowing developers to replace or update insecure components proactively. By linking CircleCI and WhiteSource, developers can receive insights and reports on open source usage and risks, enabling them to make informed decisions and minimize maintenance work associated with vulnerability management.
Feb 15, 2019
1,103 words in the original blog post.
The text provides a detailed guide on utilizing CircleCI's Insights feature to analyze and improve the performance of software tests. It explains how CircleCI can offer valuable metrics such as job performance, test success rates, and failure frequencies, which help developers identify and address problematic tests in their projects. The guide walks through a practical example involving a demo project with tests written in Cucumber and Ruby's RSpec, illustrating how to configure these tools to output test results in the JUnit XML format. This format enables CircleCI to process and display comprehensive insights on test performance, highlighting frequently failing or slow tests. The text also covers the importance of using the store_test_results command in CircleCI's configuration file to specify the location of test results, thereby unlocking detailed summaries and data visualization on the Insights page. By following the outlined steps, developers can gain a deeper understanding of their test suites' health and performance, facilitating more efficient debugging and optimization processes.
Feb 14, 2019
1,708 words in the original blog post.
In this blog post, the author guides readers through building a server-side web application using Clojure and the Duct framework, which offers a modular approach to streamline the development process. The tutorial assumes some familiarity with Clojure and requires the installation of Java JDK, Leiningen, and Git. The author demonstrates how to set up a basic web application using Duct's Leiningen templates, enabling users to create and list films, with SQLite as the initial database engine. The step-by-step instructions cover project initialization, application configuration, and the establishment of continuous integration using GitHub and CircleCI. The guide also explains how to handle HTTP requests and responses, implement database interactions via a Clojure protocol, and manage database migrations with Ragtime. By the end of the tutorial, readers have developed a functional application capable of adding and listing films, with the promise of future posts detailing how to add a production database and deploy the app using Docker and AWS.
Feb 12, 2019
4,004 words in the original blog post.
Rookout is a rapid debugging solution designed to assist developers in efficiently debugging code across various environments, including dynamic staging, testing, and production, which often present unpredictable configurations and reproducible bugs. By integrating with CircleCI orbs, Rookout facilitates seamless debugging akin to working on a local machine, without disrupting the CI/CD workflow. Developers can set breakpoints in the Rookout web-based IDE without halting code execution, as debug data is asynchronously sent back to the IDE. The setup involves creating a Rookout project, configuring the ROOKOUT_TOKEN as an environment variable in CircleCI, and using the Rookout orb to run scripts, thereby enabling effortless debugging in remote environments. Rookout is part of CircleCI's Technology Partner Program, enhancing development efficiency and cycle speed.
Feb 11, 2019
481 words in the original blog post.
React remains a preferred choice among UI developers, surpassing jQuery in 2021, and is often used alongside Node.js for professional development. This tutorial provides a comprehensive guide to setting up a sample React and Redux application, focusing on testing components and configuring continuous integration (CI) using CircleCI. It begins with the basics of cloning a Redux Async Example app and progresses through setting up a test environment with tools like Jest and Enzyme. The guide highlights the importance of snapshot testing and dives into writing tests for React components, Redux actions, and reducers. It also illustrates the integration of CircleCI with GitHub to automate test execution, ensuring new code does not disrupt existing functionality. The tutorial emphasizes that CI helps catch bugs early by running tests whenever code is pushed to a repository, thereby maintaining a reliable development process.
Feb 05, 2019
4,107 words in the original blog post.
This tutorial provides an updated guide on building and testing a small React and Redux application using Vitest and React Testing Library, which have replaced the previously recommended Jest and Enzyme for testing React applications. The application, which fetches and displays subreddit headlines from the Reddit API, is used to demonstrate how to write tests for React components and Redux functionality, including actions and reducers. The tutorial emphasizes the use of Vitest for testing, detailing how to configure it, write component and Redux tests, and conduct snapshot and behavioral testing. Additionally, it outlines setting up continuous integration with CircleCI to automate testing processes, ensuring new code does not disrupt existing functionality. The guide is comprehensive, covering prerequisites, project setup, and a step-by-step approach to testing and integrating continuous deployment, thereby offering a robust framework for maintaining code quality in React applications.
Feb 05, 2019
2,976 words in the original blog post.
Happo is a tool designed to enhance user interface development by providing automated cross-browser screenshot testing, ensuring developers can confidently identify UI changes with each new commit. Integration with CircleCI is simplified through the Happo CircleCI orb, which abstracts boilerplate setup in the CI environment, allowing for easy configuration via the .circleci/config.yml file. Users must set API tokens in environment variables obtained from happo.io to facilitate this process. The orb supports additional customization through the happo/run_happo command, allowing for pre- and post-testing steps. Once configured, the Happo CircleCI orb generates screenshots for each commit, offering comparison links for pull requests and branch builds, and posts build statuses directly to associated GitHub repositories. This integration, part of CircleCI’s Technology Partner Program, aims to streamline the CI workflow for developers, as expressed by Happo founder Henric Trotzig.
Feb 01, 2019
465 words in the original blog post.