Skip to main content

Enterprise workplace GIT structure

In this concept, we establish a central repository for PowerShell scripts to encourage collaboration and active work on scripts. We rely on the following elements:

  1. Central repository for PowerShell Scripts: We set up a central repository where all PowerShell scripts are stored. This helps to organize and unify script management.
  2. Active work in the repository: All team members actively work in the central repository. This means that all changes to PowerShell scripts can be tracked, documented and monitored in this repository.
  3. VSCode as a coding environment: Visual Studio Code (VSCode) can be used as an Integrated Development Environment (IDE) to develop and edit the PowerShell scripts. VSCode provides a wide range of extensions and features that facilitate the development and debugging of PowerShell Scripts. This concept only considers working with VSCode as a text editor.
  4. Shared repository: The central repository is accessible to the entire team. Here, all team members can access the latest versions of the scripts, submit changes, and track the history of the scripts.
  5. Personal repositories (e.g., powershell-luca): In addition to the shared repository, team members have the ability to create personal repositories to work on specific tasks or scripts that are not yet ready for the main repository. These personal repositories can later be integrated into the main repository once the work has been completed and reviewed. Own scripts created during working time should also be stored there, so that synergies can be used more often.

Overall, this concept aims to create an efficient and collaborative development environment for PowerShell scripts by providing a clear structure for management and collaboration while maintaining flexibility for individual work.

Folder structure

powershell-<teamname>: Under "powershell-<teamname>" PowerShell scripts are centrally managed, access is available to all members. Technology distinction: For technologies not related to PowerShell (e.g., C#), create separate repositories to ensure clear separation. The subfolders of the shared repository are differentiated by technology.

powershell-<username>: Here we organize personal PowerShell scripts. All scripts and programs created during working hours are placed here and also actively worked on. This repository is also accessible to all team members.

Permissions for all project members: Permissions are designed so that all members of the DevOps project can access all repositories.

Leaving team members: Even after members leave the organisation, the repositories remain intact. However, productive and shared scripts are moved to the central "powershell-wps" repository to be available quicker to all.

Naming concept personal repository

Here is clarity in the folder structure of a GIT repositories.

The naming is as follows:
<programming language>-<name>

For example:
powershell-luca