Git Creating New Builds

Typical Build

This is the procedure followed when updating the current deployment, and no mistakes have been made in development that would affect the build process. This procedure is designed to maintain ease of debugging in the DEV branch, and enabling the automated build pipeline in the Master branch. The Master branches that are the source of the build reference lower level projects as Nuget packages built on their Master branches.

The following events will affect the build process: Removing the project references in the DEV branch and re-adding them, Merging from the Master branch to the DEV branch. If either of these has occurred, perform the additional steps in this document as they are listed.

All Master branch updates should be performed during a scheduled update by a senior developer. Master branch updates should only be made on the build server.

Opening Solutions

Use the File Explorer to navigate to and open each solution to build them.

Start From the Bottom

The project that must always be checked first is Shared. To update the Shared Nuget package required by all other projects:

  1. Open the repository
  2. Pull the DEV branch
  3. Check for any non-prerelease Nuget package updates
  4. Download any updates
  5. Build the DEV branch
  6. Run any test libraries
  7. Merge from the DEV branch to the Master branch
  8. Build the master branch.
  9. Push the master branch.

Alternate as you proceed up the levels

The next projects that must be updated are Rest-Database, and UX-WASM-Services. The order of these doesn’t matter at this point, but as you go up to the next level, you should use the same order of API then UX, or UX then API. This allows the API to build while you perform operations on a UX project, and the UX to build while you work on the API.

From this point onward, the steps are the same as in Shared, with an additional step. If lower level projects were not updated, skip step 6.

  1. Open the repository
  2. Pull the DEV branch
  3. Check for any non-pre-release Nuget package updates
  4. Download any updates
  5. Build the DEV Branch
  6. Run any test libraries
  7. Merge from the DEV branch to the Master branch
  8. In the Master branch, find the latest Nuget package for the lower level project (It will be pre-release)
  9. Build the Master branch.
  10. Push the master branch.
  11. Check the version history. Master should always have a commit not present in DEV. This commit contains the changes that allow the Master branch to build with Nuget package references.
  12. Verify the build was completed correctly

Be Patient

Nuget packages can take time to publish. Sometimes between 5 and 30 minutes. Check the build number, time, and release date of the Nuget package before you merge. Ensure that it is the correct build before trying to push or there will be errors.

Top Level

For top level projects that will be deployed as applications, run a sanity check to ensure that the application runs. For UX projects, sign in and navigate to a few instances.

Builds with Issues

These are additional steps to follow when a mistake has been made with a project. These steps can be applied with projects on an individual basis.

GreatIdeaz Project References Removed and Re-added

If a GreatIdeaz Project reference was removed and re-added, there is a possibility that the project reference change may be added to the Master branch during a merge. To avoid this, do the following.

  1. Perform steps 1-7 in the normal procedure.
  2. In Master, remove the project reference from the loaded project.
  3. In Master, remove the project from the solution.
  4. Perform steps 8-11 in the normal procedure.

Accidental Merge From Master to DEV

If a developer accidentally merged from the Master branch to the Dev branch, the DEV branch will use the package references from Master and the project references will have been removed. This will interfere with debugging lower level projects. To fix the DEV branch, do the following:

  1. Perform steps 1-4 in the normal procedure.
  2. Remove the package references from the DEV branch.
  3. Add all lower level projects to the solution in the DEV branch.
  4. Add project dependencies to all projects in the DEV branch.
  5. Merge from the DEV branch into the Master branch
  6. In Master, remove the project reference from the loaded project.
  7. In Master, remove lower level projects from the solution starting from the level below the current project and working down. (In Rest-Logic, remove Rest-Database first, then Shared)
  8. Perform steps 8-11 in the normal procedure.

Updated on May 17, 2022

Was this article helpful?

Related Articles

Need Support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help!
Contact Support

Leave a Comment