Integrate Qubit with your Continuous Integration Process
Running a personalization program alongside the day-to-day development of an eCommerce platform can be a tricky process to manage. How do you ensure releases don’t clash? How do you run integration tests against personalization code interacting with your platform logic? Having the right toolchain is key to develop, test and release with confidence.
A key focus over the last couple of years at Qubit has been empowering developers and helping our customers integrate our technology into existing their workflows and best practices. With the release of the Qubit CLI and packages in 2018, you can now develop Qubit Experiences using your existing toolchain. The code can be pulled down to your local machine and checked into your main code base, you develop in your code editor of choice, and run locally via our included hot-reloading build system and Chrome extension. We have seen great uptake in usage since launch with over 3500 experiences having been developed via the CLI across our clients and partners.
Since migrating Qubit experiences to CommonJS modules, they can be managed like any other NPM package, for example, requiring them as dependencies, or — more interestingly — develop unit tests against them using your framework of choice (we use jest).
Automating your test suite is the natural next step. To meet this need, we are pleased to announce support for Qubit CLI inside your CI/CD environment. The feature is small, but a powerful one — you can now get a long-lived token from the Qubit CLI (qubit token), which when set as the QUBIT_TOKEN environment variable, will be used to authenticate when managing experiences and the hosted private NPM registry we provide for packages.
You can also revoke a token via qubit revoke.
With this capability, it is now possible to hold your experiences in a repo along with any tests written against them and have you build system (Codeship, Jenkins, Google Cloud Build etc) install any dependencies, run your test suite, then, if they all pass, push the code up (qubit push), and if you wanted, even publish (qubit publish).
This feature isn’t just for unit testing though, now you can programmatically control experiences via a CLI, unlocking use cases such as automatically publishing alongside your automated deployment of major site changes, or scripting an automatic traffic split switch for an experience.
We are excited to see what interesting use cases our customers and partners find for this capability and keen to hear your feedback for what other capabilities you would like to see in our developer toolset. Let us know in the comments or drop me an email email@example.com