Purpose
Our former location for code hosting
Type
Core
Owner
Andrew Heins
Status
Overview
Use For...
✅ Source Control
✅ CI/CD and Complex Deployment
Don’t Use For...
⛔️ CI/CD for simple projects (Use Forge Deployment instead)
Why we use it
GitLab boasts a robust and reliable toolkit for Source Control and Continuous Integration/Continuous Deployment (automated build/deployment). It also has a business model and philosophy that Cantilever admires.
How we use it
‣
- Each client should get its own sub-group within the Cantilever project.
- Each codebase should have an independent repo within the client sub-project.
- Subgroups and Projects should have icons that match the client and project
- Projects should contain:
- Source files, not built files.
- This means that if a build process generate CSS from LESS files, that build process should take place locally, or on the production server as part of a deployment process, but those built files should not be in the repo
- Directories for environment-specific content, not the content itself.
- The best example is for Images that are uploaded through the WordPress CMS. The directory of /wp-content/wp-uploads should be present and committed to the repo, but the contents of that directory should not
- Examples of environmental config files, not the files themselves.
- For example, we would want a .env.sample file in the repo that would contain example and placeholder credentials, but we would not want the .env file itself in the repo.
- A well-managed .gitignore file
- A README that outlines how to build the project in a local environment
- The main or master branch should be the default branch for the repo.
- Both the Master/Main and Develop branches should be protected, writable by developers and maintainers, and protected from force-pushes.
- An active Deploy Key for the production server. If your repo is installed directly via Forge onto the server, this will be done automatically. If not, here are the docs.
‣
Users should be added on an as-needed basis.
Cantilever Group members will be added by default with their relevant member role. Contractors or other third party developers can be added as Developers.
Every once in a while, review the member list and remove anyone no longer working on the project. This should be done as part of the off-boarding process for Cantilever Employees
‣
Please Review the documentation for .Merge Requests