So, what’s version control and why is it important? Version control is a means by which a developer or group of developers can track changes in source code over time. This ability to track changes over time is incredibly important to the development and refinement of software. If an error is made in a new code release, version control allows the source code to be “rolled back” to an older working version. Furthermore, version control allows for a more refined collaboration between multiple developers. Individual developers can push changes to a centralized master copy for review and approval.
Of all the version control systems currently available, the most popular is Git. Git was invented by Linus Torvalds for the development of the Linux kernel1. It’s important to note that Git isn’t specifically a client-server system. People often conflate Git and GitHub, but it’s necessary to keep in mind that Git resides on the developers computer. All of the version control methods and the file repositories themselves are local to the developers machine2. GitHub is a cloud based repository for Git files. While it’s an important tool, it’s not specifically what we’re addressing here.
API Fortress recently introduced a Git integration. API Fortress code can now be pulled out of the platform, edited by an external IDE and tracked in a Git repository. This is only the first step in a much longer story, but it’s a hugely important one. Now, a developer or tester can maintain version control over their API Fortress tests along with the code that the tests were designed for. As versions move forward, the ability to track changes over time gives developers and testers and enhanced ability to see where things might have gone wrong. This is just one part of API Fortress’ efforts to enhance the developer experience.
An important aspect of the new Git capabilities of API Fortress will become apparent in the CI/CD (Continuous Integration/Continuous Deployment) pipeline. More specifically, in the scope of a platform like Jenkins or Atlassian Bamboo, a member of the DevOps team will be able to specify specific versions of software and test code in the platform. API Fortress is fully capable of leveraging Git branching. Versions of tests can be maintained for both master branch deployment ready code as well as code that is still being validated.
The introduction of the Git integration will allow users to leverage version control while testing their API environment. The ability to test APIs is an incredibly important part of a comprehensive testing strategy, and the ability to store and iterate over multiple versions of these tests will allow for an even more detailed type of API testing. Without API testing, some truly insidious silent errors can go unnoticed for long spans of time. Later in the week we’ll take a look at how the version control integration actually works. Then, we’ll take a look at how the workflow for the CI/CD process has been enhanced by it. Keep on testing!
API Fortress was specifically built for today’s agile architectures. A collaborative platform that bridges the gap between development, QA and DevOps. By collaborating using the simple GUI, teams can work together to create a series of powerful API test in one place. Then those tests can be executed at every stage of the lifecycle, in particular as part of the CI/CD process. Using our webhooks or Jenkins plugin, you can automatically execute tests and get notified of issues before the code is published live. The platform works in the cloud or on-premises, giving you the flexibility to run test from any environment while still satisfying security protocols. Catch errors before your customers find them and release code with confidence.
For other related articles, please check out API Fortress’s blog, here.