Course Outline
Source Code Sovereignty
- Understanding how cloud Git platforms may expose proprietary code and trade secrets.
- An overview of Gitea’s architecture compared to GitHub, GitLab, and Forgejo.
- Considerations regarding licensing, terms of service, and data export policies.
Installation and Configuration
- Deploying Gitea using Docker Compose with PostgreSQL and Redis.
- Installing binaries on Linux and configuring systemd services.
- Setting up reverse proxies, TLS certificates, and SSH port configurations.
- Navigating the initial setup wizard for database connection, admin accounts, and app.ini tuning.
Repository Management
- Creating organizations, teams, and repositories.
- Implementing branch protection, mandatory code reviews, and signed commits.
- Utilizing issue tracking, labels, milestones, and Kanban boards.
- Hosting wikis and release artifacts.
CI/CD with Gitea Actions
- Enabling Gitea Actions and registering act runners.
- Drafting workflow YAML files for build, test, and deployment stages.
- Managing security and container isolation for self-hosted runners.
- Utilizing artifact caching and matrix builds for efficiency.
Migration from Cloud Forges
- Mirroring and importing repositories from GitHub and GitLab.
- Transferring issues, pull requests, and release notes.
- Maintaining commit signatures and GPG key trust relationships.
Authentication and Access Control
- Integrating LDAP, Active Directory, and OpenID Connect.
- Configuring two-factor authentication and managing deploy tokens.
- Defining repository visibility settings: public, internal, and private scopes.
Security and Compliance
- Enforcing commit signing via GPG and SSH keys.
- Monitoring audit logs for repository access and administrative changes.
- Setting up dependency scanning and vulnerability webhook alerts.
Maintenance and Scaling
- Developing backup strategies for Git data, issues, and attachments.
- Optimizing database performance and offloading attachments to S3.
- Performing Gitea upgrades and managing breaking changes.
Requirements
- A solid understanding of Git and version control principles at an intermediate level.
- Experience in Linux server administration, including working with Docker.
- Familiarity with CI/CD pipelines and webhook functionalities.
Target Audience
- Development teams looking to migrate away from GitHub or GitLab.com.
- Organizations that mandate on-premise storage for their source code.
- Government agencies and defense contractors subject to strict code export regulations.
Testimonials (4)
I like that I've got immediately answer to my questions.
Szabolcs Kriston - Ericsson
Course - Advanced GitLab
Repeat the important takeaway
Milly Chen - Logitech
Course - Gerrit Code Review
Exercises that we were able to do on VMs
Atif Bhatti
Course - Git Hands-on Workshop with Azure DevOps
I liked the easy communication between trainer and us, care given to our problems, insights and additional knowledge provided in anwers to our questions. I liked the pace, it didn't feel rushed at any point, even with technical problems. Each subject was taken care of properly.