Refactor GPG docs See merge request !13660
5.4 KiB
Projects
In GitLab, you can create projects for hosting your codebase, use it as an issue tracker, collaborate on code, and continuously build, test, and deploy your app with built-in GitLab CI/CD.
Your projects can be available publicly, internally, or privately, at your choice. GitLab does not limit the number of private projects you create.
Project's features
When you create a project in GitLab, you'll have access to a large number of features:
Issues and merge requests:
- Issue tracker: Discuss implementations with your team within issues
- Issue Boards: Organize and prioritize your workflow
- Multiple Issue Boards (EES/EEP): Allow your teams to create their own workflows (Issue Boards) for the same project
- Repositories: Host your code in a fully
integrated platform
- Protected branches: Prevent collaborators from messing with history or pushing code without review
- Protected tags: Control over who has permission to create tags, and prevent accidental update or deletion
- Signing commits: use GPG to sign your commits
- Merge Requests: Apply your branching
strategy and get reviewed by your team
- Merge Request Approvals (EES/EEP): Ask for approval before implementing a change
- Fix merge conflicts from the UI: Your Git diff tool right from GitLab's UI
- Review Apps: Live preview the results of the changes proposed in a merge request in a per-branch basis
- Labels: Organize issues and merge requests by labels
- Time Tracking: Track estimate time and time spent on the conclusion of an issue or merge request
- Milestones: Work towards a target date
- Description templates: Define context-specific templates for issue and merge request description fields for your project
- Slash commands (quick actions): Textual shortcuts for common actions on issues or merge requests
GitLab CI/CD:
- GitLab CI/CD: GitLab's built-in Continuous Integration, Delivery, and Deployment tool
- Container Registry: Build and push Docker images out-of-the-box
- Auto Deploy: Configure GitLab CI/CD to automatically set up your app's deployment
- Enable and disable GitLab CI
- Pipelines: Configure and visualize
your GitLab CI/CD pipelines from the UI
- Scheduled Pipelines: Schedule a pipeline to start at a chosen time
- Pipeline Graphs: View your entire pipeline from the UI
- Job artifacts: Define, browse, and download job artifacts
- Pipeline settings: Set up Git strategy (choose the default way your repository is fetched from GitLab in a job),
timeout (defines the maximum amount of time in minutes that a job is able run), custom path for
.gitlab-ci.yml
, test coverage parsing, pipeline's visibility, and much more
- GitLab Pages: Build, test, and deploy your static website with GitLab Pages
Other features:
- Cycle Analytics: Review your development lifecycle
- Koding integration (not available on GitLab.com): Integrate with Koding to have access to a web terminal right from the GitLab UI
- Syntax highlighting: An alternative to customize your code blocks, overriding GitLab's default choice of language
Project's integrations
Integrate your project with Jira, Mattermost, Kubernetes, Slack, and a lot more.
New project
Learn how to create a new project in GitLab.
Fork a project
You can fork a project in order to:
- Collaborate on code by forking a project and creating a merge request from your fork to the upstream project
- Fork a sample project to work on the top of that
Import or export a project
- Import a project from:
- Export a project from GitLab
- Importing and exporting projects between GitLab instances
Project's members
Learn how to add members to your projects.
Leave a project
Leave project will only display on the project's dashboard when a project is part of a group (under a group namespace). If you choose to leave a project you will no longer be a project member, therefore, unable to contribute.