Skip to content

🌌 Valhalla Documentation

Streamline your software releases with automated, error-free deployments


Welcome to Valhalla

🌌 Valhalla is a powerful toolkit designed to automate and streamline the release process for software projects. Say goodbye to manual, error-prone releases and embrace automated workflows that save time, reduce mistakes, and ensure compliance with your release standards.

✨ Key Features

  • πŸš€ Automated Releases - Create GitLab releases automatically from branch names or environment variables
  • πŸ”„ Git Integration - Automated commits, pushes, and merge request creation
  • πŸ“‹ Configurable Workflows - Flexible YAML configuration for any release process
  • πŸ”§ Pre/Post Release Scripts - Execute custom commands before and after releases
  • πŸ“¦ Asset Management - Automatically attach release assets and documentation links
  • πŸ—οΈ CI/CD Ready - Seamless integration with GitLab CI/CD pipelines
  • πŸ”— Configuration Inheritance - Share configurations across multiple repositories
  • 🌐 Variable System - Powerful templating with predefined and custom variables

🎯 Why Choose Valhalla?

Problem Valhalla Solution
Manual release complexity Automated multi-step release workflows
Human errors & inconsistency Standardized, repeatable processes
Time-consuming manual steps One-click releases triggered by branch creation
Compliance & audit trails Consistent release documentation and history
Multi-repository management Configuration inheritance and templates

πŸ“š Documentation

πŸš€ Getting Started

New to Valhalla? Start here for installation, basic setup, and your first release.

  • Installation options (Docker & source)
  • Initial configuration
  • GitLab CI/CD integration
  • Your first automated release
  • Prerequisites and setup

πŸ“– Usage Guide

Ready for more? Explore advanced usage patterns, configuration inheritance, and common workflows.

  • Branch-based vs environment variable releases
  • Configuration inheritance patterns
  • Variable system and templating
  • Multiple release types (standard, hotfix, preview)
  • Integration examples (Slack, Jira, Docker)
  • Best practices and troubleshooting

❓ FAQ

Got questions? Find answers to common questions and troubleshooting tips.

  • Platform compatibility and limitations
  • Token permissions and security
  • Testing and dry-run approaches
  • Error resolution and debugging
  • Advanced use cases and workarounds

πŸ“š Configuration Reference

Need details? Complete reference for all configuration options and parameters.

  • Full YAML schema documentation
  • All configuration options explained
  • Predefined variables reference
  • Environment integration details
  • Complete configuration examples

πŸš€ Quick Start

Ready to get started? Here's the fastest way to begin:

1. Install Valhalla

docker pull logchange/valhalla:1.3.0

2. Create Configuration

# valhalla.yml
git_host: gitlab

commit_before_release:
  enabled: true
  username: "Release Bot"
  email: "releases@company.com"
  msg: "Prepare release {VERSION}"
  before:
    - echo "Building version {VERSION}"

release:
  description:
    from_command: "echo 'Release {VERSION}'"

merge_request:
  enabled: true
  title: "Release {VERSION}"

3. Set GitLab Token

# In GitLab CI/CD Variables
VALHALLA_TOKEN=your_gitlab_token

4. Trigger Release

git checkout -b release-1.0.0
git push origin release-1.0.0

πŸŽ‰ That's it! Valhalla will handle the rest automatically.

➑️ Continue with detailed setup β†’


πŸ—οΈ Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Git Branch    │───▢│    Valhalla      │───▢│  GitLab Release β”‚
β”‚ release-1.2.3   β”‚    β”‚                  β”‚    β”‚   + Assets      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚  β”‚ Config      β”‚ β”‚              β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚  β”‚ valhalla.ymlβ”‚ β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Environment     │───▢│  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ │───▢│  Merge Request  β”‚
β”‚ VALHALLA_*      β”‚    β”‚                  β”‚    β”‚    (optional)   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚  β”‚Pre/Post     β”‚ β”‚              β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚  β”‚Scripts      β”‚ β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ GitLab CI/CD    │───▢│  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ │───▢│   Git Commits   β”‚
β”‚   Variables     β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚   + Push        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🌟 Common Use Cases

πŸ”„ Continuous Deployment

Automatically create releases when code is merged to release branches.

🚨 Hotfix Releases

Fast-track critical fixes with simplified release processes using valhalla-hotfix.yml.

πŸ“¦ Multi-Component Releases

Coordinate releases across microservices and monorepo components.

🏒 Enterprise Workflows

Standardize release processes across teams with configuration inheritance.

🐳 Container Deployments

Build and publish Docker images as part of the release process.


πŸ› οΈ Platform Support

Platform Status Notes
GitLab βœ… Full Support Self-hosted and GitLab.com
GitHub ⏳ Planned Coming in future release
Bitbucket ⏳ Planned Coming in future release
Azure DevOps ⏳ Planned Coming in future release

πŸ“Š Release Types

Valhalla supports multiple release configurations for different scenarios:

🎯 Standard Releases (valhalla.yml)

  • Full feature releases
  • Complete testing and validation
  • Documentation updates
  • Post-release preparation

πŸ”₯ Hotfix Releases (valhalla-hotfix.yml)

  • Critical bug fixes
  • Minimal validation
  • Fast-track deployment
  • Emergency response

πŸ‘€ Preview Releases (valhalla-preview.yml)

  • Development previews
  • Staging deployments
  • Feature demonstrations
  • Integration testing

πŸ—οΈ Custom Release Types (valhalla-{type}.yml)

  • Project-specific workflows
  • Environment-specific releases
  • Team-customized processes

πŸ”§ Integration Ecosystem

Valhalla integrates seamlessly with your existing tools:

  • 🦊 GitLab CI/CD - Native pipeline integration
  • 🐳 Docker - Container building and publishing
  • πŸ“¦ Package Managers - npm, Maven, NuGet, pip
  • πŸ“’ Notifications - Slack, Teams, Discord
  • πŸ“‹ Project Management - Jira, Linear, GitHub Issues
  • πŸ“Š Monitoring - Custom webhooks and metrics
  • πŸ” Security - Token management and secret handling

🀝 Community & Support

πŸ“ž Get Help

πŸš€ Contributing

Valhalla is open-source and welcomes contributions: - πŸ”§ Code Contributions: Pull Requests - πŸ“ Documentation: Help improve our guides - πŸ§ͺ Testing: Share your use cases and configurations - 🌍 Community: Help other users in discussions


πŸ“ˆ What's Next?

🎯 Choose Your Path

I want to... Go to...
Get started quickly Getting Started Guide
See advanced examples Usage Guide
Solve a specific problem FAQ
Look up configuration options Configuration Reference
Understand the full feature set Continue reading below

πŸŽ‰ Success Stories

"Valhalla reduced our release time from 2 hours to 5 minutes and eliminated all manual errors."
β€” DevOps Team Lead

"Configuration inheritance lets us manage 20+ repositories with a single shared template."
β€” Platform Engineer

"The variable system makes our release notes and notifications perfectly consistent."
β€” Release Manager


Ready to transform your release process? 🌌

Start with Getting Started β†’


**🌟 Like Valhalla? [Give us a star on GitHub!](https://github.com/logchange/valhalla) 🌟** *Made with ❀️ by the Valhalla team*