Transcript
Hi everyone, Laurence here from GearSat. Today I'm going to give you a quick demo of the GearSat pipelines capability.
This is GearSat pipelines and pipelines is a visual representation and enables you to manage the movement of user stories through a Git based release process.
So Gearset here is controlling the branching strategy in Git and everything is done via GearSet, but everything would have full visibility in Git itself.
Pipeline is also really flexible, so it enables different custom workflows to be supported no matter how many environments you have in your pipeline or various sprints or projects that you have working in parallel.
So each green box represents a CI job, which is when a change is merged to the base branch, GeoSet will automatically deploy that change into its corresponding environment.
And each blue job shows a developer org, so where I'm going to start fetching my changes from.
So let's go and do that together.
I'm gonna select my sales and service sandbox and simply select new feature.
Gear set also connects to my ticketing system, whether this is Jira or ADO, meaning that I can fully consolidate all of the updates of those tickets via Gearset as well.
I'm immediately shown any of the tickets that are assigned to me, and this will create a new branch in Git automatically from GearSat.
When I compare them, GearSat is then gonna show me all of my metadata that is in a comparison between the org that I'm pulling the changes from and that target environment, which is the branch that's just been created.
I've created a few new custom fields for my deployment today, and this Jira ticket requires me to deploy the discount percentage custom field.
So what I get to see is that my discount percentage is a new field, so I can filter that here, but also Gearset will show me any changed or deleted items as well. This means that Gear set also supports destructive changes being pushed through my pipeline, which can be really beneficial for some teams.
When I select this item on the left hand side, of course, that will move into my selected items tab.
Salesforce is a hierarchical and very relational database, so it has many dependencies and relationships between metadata.
Gearset fully understands this and shows me upfront any dependencies on that top level object, which are essential to be deployed if this is to be successful.
And, of course, those dependencies are multilayered.
So these were will continue down that dependency structure for the that deployment to be successful.
Of course, I could bring these all in simultaneously to ensure that this deploys is required.
Additionally, I've got the elements that are used by. So these are metadata items that reference that top level object. So I've got a flow or an approval process, but also a layout here.
Gear set is very granular.
So you'll see there are a number of new items on the layout and a number that have been deleted.
Of course, I could deploy all of these changes, but I'm only working on the discount percentage custom field. So I can simply cherry pick just the changes that I wish to deploy.
This is all very much Salesforce, understanding that Gearset's built in to be able to just deploy these specific elements.
And that same Salesforce specificness also applies to the deployment of profiles and permission sets, which are often very challenging for teams to deploy or are often done manually.
Gearset understands how to deploy these and just deploy the relevant field level securities for the specific profiles for this custom field so I have that granularity without having to deploy the entire profile.
Once I'm happy then that I've got all the items that I wish to deploy, I can simply proceed.
But this is where Gearset again has proprietary Salesforce understanding and builds in problem analysis to detect, are there gonna be any issues with this deployment?
So I'm showing straight away. So Gearset is saying, hey, Lawrence. There is gonna be some problems because you didn't include those dependencies that GearSet showed me earlier.
So I can simply bring these along with one click as well as any profiles and permissions that I was also missing.
Moving on then to the pre deployment summary, I'll be shown a summary of the metadata that I'm going to deploy.
I can, of course, give this a commit message as well that is gonna be tied onto that commit in Git, and then I simply commit my changes.
That is gonna bundle those metadata items and commit those to the newly created feature branch in Git, and I'll be returned back to pipelines.
Following a commit, of course, the next thing to do is to create a pull request.
So Gear Set enables me to also do that from directly within the UI.
I can also add in a template or any notes in here and then simply create that pull request.
You may have noticed that there was a three against my staging environment.
These numbers correlate to the number of open pull requests. So here we can see that's updated to a four because I've just opened that pull request now.
You'll see then that this is an open pull request and Gearset's automatically running a few checks.
So firstly, we're going to run a validation to see if I were to deploy this, would this deploy successfully?
Gear set is also gonna run static code analysis and unit testing, so it's a framework to automate the unit testing.
But also that static code analysis is not only built in with Gearset, but we can integrate with third party tools if required.
Additionally, for all of the pull requests, we will look into Git itself. Does the are there any branch protection rules or enforced reviewers or status checks that must be adhered to before this can be promoted?
And if so, this will be blocked from promotion.
Additionally, it might be that those reviewers have to review my code, or maybe as a developer, this might be the end of the work I need to do and it gets picked up by a separate member of the team.
So GearSec can also provide integrations with Slack and Microsoft Teams for notifications.
So an example is here where I'm in Slack and we can see that a CI job has just been run, and I can simply say maybe I comment to one of my teammates to say, hey, Toby. Can you look at this? And Toby will go and have a look.
So back into gear set then, we can also see that each story is separated or each PR here corresponding to a story is separated. And this means that we can control the movement through the pipeline at different rates. So if there was an escalation, for example, we can release those simply. I'm gonna go ahead and do this promotion, and this is going to kick off a number of things.
Firstly, we're going to merge this into the base branch.
This will also deploy to the corresponding org and will also open a new pull request against my next environment.
This is all taken care of automatically for me, really promoting that CICD mindset.
Additionally, this will also trigger any third party integrations that I might have set up. For example, Selenium Java or Provar or any other automated environment or UI testing tools.
Additionally, I'll show against production here. We can have a concept of releases.
So this is where we've got a bundle of stories which we wish to promote simultaneously.
So it's a number of pull requests that we have bundled together and they're going to validate as a combined package against production to ensure they'll deploy successfully.
This gives me that confidence that when it comes to release time, not only will these deploy successfully, but, of course, I can schedule this deployment for hours so I don't have to deploy this. I can get on with all the other things I need to do.
Should also look at the environment synchronization.
So you'll see some of these pull requests are facing towards the left, and this means that Gear Set enables me to keep all my environments in sync using back propagated pull requests.
Additionally, within GearSat, in the deployment history, we can see all of the deployments that have taken place in my environment.
So we can see, for example, these are the ones that are just me.
And I've got the rollback option here as well. So this gives me full granularity to control not only deployments going upstream, but I can rollback deployments too.
So pipelines is a tool for managing the movement of user stories through a Git based release process underpinned by GitHub, but also integrating very tightly to my ticketing system, whether that be Jira or radio.
Within the gear set suite, we've also got the, not only metadata deployments and automation capabilities, but we can see data deployments for sandbox seeding and masking and the data backup solution as well that really, gives Gear Set the ability to be that complete DevOps provider for Salesforce.
I won't go through those solutions in this video, but I wanted to highlight those, and they'll be linked up separately.
Really appreciate you running through this demo with me today, and please reach out if you have any questions.
Thanks again.