diff --git a/patterns/docs/Source Code Repositories/GitHub Organization Administration/GitHub Organization Administration.md b/patterns/docs/Source Code Repositories/GitHub Organization Administration/GitHub Organization Administration.md index 30cc3d8..63b983e 100644 --- a/patterns/docs/Source Code Repositories/GitHub Organization Administration/GitHub Organization Administration.md +++ b/patterns/docs/Source Code Repositories/GitHub Organization Administration/GitHub Organization Administration.md @@ -66,6 +66,8 @@ Repositories and Branching    - Establish a branching strategy (e.g., Gitflow) for a structured development process. +   - The authority to create BCGOV-C repos will remain with OCIO. + Issue Tracking    - Utilize GitHub Issues for tracking tasks, bugs, and enhancements. diff --git a/patterns/docs/Source Code Repositories/GitHub Organization Administration/data.json b/patterns/docs/Source Code Repositories/GitHub Organization Administration/data.json index e67dc33..a22963e 100644 --- a/patterns/docs/Source Code Repositories/GitHub Organization Administration/data.json +++ b/patterns/docs/Source Code Repositories/GitHub Organization Administration/data.json @@ -1 +1 @@ -{"id":"197493858","type":"page","status":"current","title":"GitHub Organization Administration","body":{"storage":{"value":"
Status

Document

StakeholdersNRIDS Architecture, FDS
DescriptionThe purpose of this page is to outline practices when managing GitHub Org Administration
OutcomeConsistent point of reference for onboarding new product teams into the NRM's.
OwnerNRIDS Architecture, FDS



Participants


Costs


Components of Github Organization Administration

Organization Structure

   - Define a clear organizational structure with teams based on projects or functions.

   - Assign appropriate permissions to teams and members to control access.

Access Control

   - Regularly review and update access permissions.

   - Implement branch protection rules to safeguard critical branches.

License Management

    - Clearly specify and manage licenses for each repository.

    - Regularly review and update licenses as needed.


Repositories and Branching

   - Create repositories for each project or component.

   - Establish a branching strategy (e.g., Gitflow) for a structured development process.

Issue Tracking

   - Utilize GitHub Issues for tracking tasks, bugs, and enhancements.

   - Establish labeling conventions for better categorization.

Backups and Recovery

    - Regularly back up repositories and related data.

    - Establish a recovery plan in case of accidental data loss or compromise.


Code Review Process

   -  Implement a code review process to maintain code quality.

   - Require reviews before merging, and use pull request templates.

Security Measures

   - Regularly scan code for vulnerabilities using GitHub code scanning.

   - Implement Dependabot for automated dependency updates.


Documentation

   - Maintain comprehensive README files for each repository.

   - Utilize GitHub Wiki for extensive documentation on larger projects.

Collaboration and Communication

   - Encourage collaboration through discussion in issues and pull requests.

   - Use GitHub Discussions for broader conversations within the organization.

Training and Onboarding

    - Provide training sessions for new members on GitHub workflows.

    - Maintain a detailed onboarding guide for new contributors.

Community Guidelines

    - Establish and communicate community guidelines for contributors.

    - Enforce a code of conduct to ensure a positive and inclusive environment.


    - Use GitHub Insights to monitor repository activity and contributions.

    - Analyze metrics to identify areas for improvement in development processes.

Regular Audits

    - Conduct periodic audits of repositories, permissions, and workflows.

    - Address any issues or improvements identified during audits.

Ie. Script a monthly mail out to Github Team administrators to review team memberships they own.

Ie. Script compliance to metadata standards (readme/pubcode) 


References

https://stackify.com/managing-teams-github/

GitHub in BC Government - RC1.pdf

https://developer.gov.bc.ca/docs/default/component/bc-developer-guide/use-github-in-bcgov


","representation":"storage","_expandable":{"content":"/rest/api/content/197493858"}},"_expandable":{"editor":"","view":"","export_view":"","styled_view":"","anonymous_export_view":""}},"extensions":{"position":"none"},"_links":{"webui":"/display/AR/GitHub+Organization+Administration","edit":"/pages/resumedraft.action?draftId=197493858","tinyui":"/x/YoTFCw","self":"https://apps.nrs.gov.bc.ca/int/confluence/rest/api/content/197493858"},"_expandable":{"container":"/rest/api/space/AR","metadata":"","operations":"","children":"/rest/api/content/197493858/child","restrictions":"/rest/api/content/197493858/restriction/byOperation","history":"/rest/api/content/197493858/history","ancestors":"","version":"","descendants":"/rest/api/content/197493858/descendant","space":"/rest/api/space/AR"}} \ No newline at end of file +{"id":"197493858","type":"page","status":"current","title":"GitHub Organization Administration","body":{"storage":{"value":"
Status

Document

StakeholdersNRIDS Architecture, FDS
DescriptionThe purpose of this page is to outline practices when managing GitHub Org Administration
OutcomeConsistent point of reference for onboarding new product teams into the NRM's.
OwnerNRIDS Architecture, FDS



Participants


Costs


Components of Github Organization Administration

Organization Structure

   - Define a clear organizational structure with teams based on projects or functions.

   - Assign appropriate permissions to teams and members to control access.

Access Control

   - Regularly review and update access permissions.

   - Implement branch protection rules to safeguard critical branches.

License Management

    - Clearly specify and manage licenses for each repository.

    - Regularly review and update licenses as needed.


Repositories and Branching

   - Create repositories for each project or component.

   - Establish a branching strategy (e.g., Gitflow) for a structured development process.

   - The authority to create BCGOV-C repos will remain with OCIO.

Issue Tracking

   - Utilize GitHub Issues for tracking tasks, bugs, and enhancements.

   - Establish labeling conventions for better categorization.

Backups and Recovery

    - Regularly back up repositories and related data.

    - Establish a recovery plan in case of accidental data loss or compromise.


Code Review Process

   -  Implement a code review process to maintain code quality.

   - Require reviews before merging, and use pull request templates.

Security Measures

   - Regularly scan code for vulnerabilities using GitHub code scanning.

   - Implement Dependabot for automated dependency updates.


Documentation

   - Maintain comprehensive README files for each repository.

   - Utilize GitHub Wiki for extensive documentation on larger projects.

Collaboration and Communication

   - Encourage collaboration through discussion in issues and pull requests.

   - Use GitHub Discussions for broader conversations within the organization.

Training and Onboarding

    - Provide training sessions for new members on GitHub workflows.

    - Maintain a detailed onboarding guide for new contributors.

Community Guidelines

    - Establish and communicate community guidelines for contributors.

    - Enforce a code of conduct to ensure a positive and inclusive environment.


    - Use GitHub Insights to monitor repository activity and contributions.

    - Analyze metrics to identify areas for improvement in development processes.

Regular Audits

    - Conduct periodic audits of repositories, permissions, and workflows.

    - Address any issues or improvements identified during audits.

Ie. Script a monthly mail out to Github Team administrators to review team memberships they own.

Ie. Script compliance to metadata standards (readme/pubcode) 


References

https://stackify.com/managing-teams-github/

GitHub in BC Government - RC1.pdf

https://developer.gov.bc.ca/docs/default/component/bc-developer-guide/use-github-in-bcgov


","representation":"storage","_expandable":{"content":"/rest/api/content/197493858"}},"_expandable":{"editor":"","view":"","export_view":"","styled_view":"","anonymous_export_view":""}},"extensions":{"position":"none"},"_links":{"webui":"/display/AR/GitHub+Organization+Administration","edit":"/pages/resumedraft.action?draftId=197493858","tinyui":"/x/YoTFCw","self":"https://apps.nrs.gov.bc.ca/int/confluence/rest/api/content/197493858"},"_expandable":{"container":"/rest/api/space/AR","metadata":"","operations":"","children":"/rest/api/content/197493858/child","restrictions":"/rest/api/content/197493858/restriction/byOperation","history":"/rest/api/content/197493858/history","ancestors":"","version":"","descendants":"/rest/api/content/197493858/descendant","space":"/rest/api/space/AR"}} \ No newline at end of file