One of the largest commercial and investment firms in the world wanted to know how AutoRABIT can help them with CI/CD for the Salesforce platform. They have large distributed teams across the planet. Their previous release management process involved the usage of Team Foundation Server (TFS) as a project management tool along with GitHub for source control and Jenkins for deployments.
Their specific ask was how can a focused tool such as AutoRABIT help drive an effective CI/CD that replaces their existing “heavily managed” manual process.
Below is a 9-point response that was sent by one of our core architects -
- Developer Check-Ins: Developers should spend most of their time in creating quality code and not on understanding how Salesforce platform handles Metadata. AutoRABIT has created a unique interface which helps developers/admins alike to simply ‘Fetch Changes’ by on an author’s name and commit the same into their SCM. This is an important aspect in driving a CI/CD culture in an organization where developers are agile and work to code and not working to push their code.
- Salesforce XML File Structures: Salesforce follows a unique algorithm to maintain multiple metadata components in a single file (e.g. a Custom Object file consists of Custom Fields, Weblinks, Validation Rules, etc.). Hence, when a developer/admin wants to push his code into an SCM, he needs to understand the exact marshaling where his piece of code would fit into a file. This causes chaos most of the time. AutoRABIT innately understands Salesforce file structure and developer can simply fetch his change from his Salesforce org and Commit the same into his version control. This complexity is handled beautifully by AutoRABIT in a simple 3 click interface. The faster the check-in, the faster the deployment.
- Gated check-ins: Any CI/CD platform is only valuable when there is trust amongst the organization’s developer community. This is a factor of trust that is driven when each developer knows that certain tests have been performed keeping the Build status of the release intact. AutoRABIT has developed a unique a gated check-in methodology built on the lines of Salesforce development which forces developers to run sanity/unit tests on each check-in before it is committed into SCM.
- Change Management: AutoRABIT works on an agent-server architecture which means it can connect to any software application. You can integrate, collaborate your user stories from external project management (e.g. Jira) and you can Build, Deploy and Test across your Salesforce landscape based on the status of a user story. More importantly, AutoRABIT also has its own change management system.
- Continuous Integration: AutoRABIT has created its own CI server built specifically for Salesforce.
- AutoRABIT’s CI Jobs feature has been developed as a “Click to Code” interface which means Developers and Release Managers do not have to configure TFS and Jenkins scripts/YML files to execute and run Builds, Deployments, and Tests.
- AutoRABIT CI/CD framework follows the DevOps methodology where changes are promoted and tested based on a ‘Change’. This essentially pivots a Salesforce release management practice to get away from the “snowflake” development methods that Salesforce apps are usually built upon.
- Our CI Jobs feature creates job pipelines for creating workflows around your CI jobs that drive developers to have a common view of releases and fixes as soon as something breaks.
- Test Automation: Continuous delivery only makes sense when you have a considerable number of automated tests that prevents you from continuously shipping broken software. AutoRABIT’s API layer allows you to integrate with multiple Test Automation Suites along with Salesforce’s unit testing to create a unique feature which drives Test Automation regarding Salesforce.
- Deployments: AutoRABIT is just not limited to deployments but can also provide additional features such as Backup and Rollback, Validations, Profile and Permission Set intelligence, Selective deployment from version control (single revision or multiple revisions), CI Builds, etc. Shortly, a deployment “Newton” which forecasts a deployment failure, and also offer probable solutions to the failure will also be offered.
- Data: A out of the box, Data loader which can handle –
- Handling parent-child relationships in your data model
- Manage data ancestry while loading data across multiple parents
- Minimize circular and self-references
- Set filters and limit the number of records based of criteria or an actual limit
- Configure incremental data loading jobs
- Avoid duplicates
- Schedule data loading operation based on time or an event within the application.
- Disable Validation Rules and Workflow rule
- Developer’s Ball Game: Culture plays a very important role in the process of agile development to achieve CI/CD. Just having the right tools and technology doesn’t cut it. We indoctrinated a new set of developer responsibilities - This includes owning not just code but also owning the automation, pipeline and production operations for each Release. This mind shift is critical to successfully adopting an agile, continuous delivery and deployment process.
If you have any such questions, please walk into our booth #23 at DevForest and booth #330 / 1943 at Dreamforce 17; meet our team of domain experts and get your queries answered. AutoRABIT is a silver sponsor at Dreamforce 17.