Is there a good way to only deploy the components in a specific commit or collection of commits? I know you can set it to take a difference between two orgs to generate what to deploy, but if I have multiple devs moving changes in a shared UAT environment, how can I select just the commits I want and deploy only those changes with a github action?
@JustinWills8 күн бұрын
Depends on what your environment is like. If you want to deploy only partial components you will need to use a tool like sfdx git delta. You can create a staging branch, that moves these branches from UAT to staging, then use the partial commit to deploy to prod. Alternatively, if the changes are very segmented, you can use a package deployment mode.
@BlakeVulpe7 күн бұрын
@@JustinWills Yeah, we're working on moving our code base into unlocked packages but it's a 15 year old org with a huge codebase that wasn't initially built that way. I'm looking into the beta project deploy pipeline commands as they appear to move only the diff. Also of concern is that our full set of test classes take over 24 hours, so we need to make sure we're only running specified tests for the changes being deployed. At the end of the day though, it doesn't appear that there's an out of the box way to simply deploy only what's in 1 (or multiple) commits without building a package.xml that has the exact changes listed.
@BlakeVulpe7 күн бұрын
@@JustinWills Also thank you for taking the time to respond.
@JustinWills7 күн бұрын
@@BlakeVulpe It seems like these commands are a way of interacting with devops center through the cli. I would avoid this route. Obviously migrating 15 years of code is a tall task, but it is the only way of reducing the amount of test classes you are running per deploy. If you want to keep the mono repo style, where all the code lies in one github repo, but packages are still seperated, check out how Nebula Logger has multiple unlocked packages per repo.
@BlakeVulpe7 күн бұрын
@@JustinWills I'm familiar with what it would take to package, I'm just not sure the business is going to fund a rebuild of 22,000,000 characters of Apex Code along with all the other metadata and Vlocity components as well (especially since Vlocity data can't be packaged with metadata). I have a feeling straight CLI isn't going to work for us at this point. I really appreciate you responding.
@santanuroy571 Жыл бұрын
How can i generate these yml files ? How can i know all the details of these yml files? Please clarify...
@JustinWills Жыл бұрын
You create these files in the .github/workflows directory. All the contents of the files are shown on screen. You can also see this video in article form here: medium.com/@justin.wills_27437/deploy-salesforce-code-with-github-actions-salesforce-devops-tutorial-302c7567372e
@santanuroy571 Жыл бұрын
Diff between github and github github action? please.
@JustinWills Жыл бұрын
GitHub is the platform that hosts the code. GitHub Actions is a tool on the GitHub platform that can be used to automate actions inside the GitHub repository.