GitHub Actions Integration
Automate builds and deployments with GitHub Actions
Ryvn integrates with GitHub Actions to automate your build and deployment workflow. This integration enables automatic releases when you push changes to your repository, making it easier to maintain a consistent deployment process.
Prerequisites
Before setting up GitHub Actions integration, ensure you have:
- A service created in Ryvn from a GitHub repository
- Admin access to the GitHub repository
- A deployed installation of your service
Supported Service Types
GitHub Actions integration is available for the following service types:
- Server: For HTTP/HTTPS services
- Terraform: For infrastructure as code services
- Chart: For Helm chart services
Setting Up GitHub Actions
Access GitHub Actions Setup
There are two ways to set up GitHub Actions:
- After creating a new service, click the Setup GitHub Actions button in the success screen
- For existing services, click the three-dot menu next to your service and select Setup GitHub Actions
Configure Workflow
In the setup dialog:
- Review the workflow description
- Click Setup GitHub Actions to proceed
- Wait while Ryvn creates the necessary workflow files
Review Pull Request
Once the setup is complete:
- Click View Pull Request to open the created PR in GitHub
- Review the workflow configuration
- Merge the pull request to enable automated releases
Understanding the Workflow
The GitHub Actions workflow Ryvn creates will:
- Build your application when you push changes
- Create a release in Ryvn
- Deploy the release to environments based on your release channel configuration
Workflow Files
Ryvn creates two main files in your repository:
.github/workflows/ryvn.yml
: The main workflow configuration.github/ryvn.yml
: Configuration for release creation
Release Process
When you push changes to your repository:
- GitHub Actions builds your application
- If successful, it creates a release in Ryvn
- The release is automatically deployed to environments subscribed to the appropriate release channel
Version Control
Ryvn follows semantic versioning (MAJOR.MINOR.PATCH) for releases. You can control version numbers by:
- Using Git tags (e.g.,
v1.2.3
) - Letting Ryvn auto-increment the version
Troubleshooting
Common issues and solutions:
Workflow Not Running
- Verify the workflow file exists in
.github/workflows/ryvn.yml
- Check GitHub repository permissions
- Ensure the branch is properly configured
Build Failures
- Review build logs in GitHub Actions
- Verify all dependencies are properly specified
- Check resource limits in workflow configuration
Deployment Issues
- Confirm release channel configuration
- Check maintenance window settings
- Review environment health checks
If you need to recreate the GitHub Actions workflow, you can use the Setup GitHub Actions option again, which will create a new pull request with the latest configuration.
Security Considerations
The GitHub Actions workflow uses:
- Encrypted secrets for Ryvn authentication
- Limited-scope tokens for release creation
- Secure environment variables
Never commit Ryvn credentials or sensitive information directly in workflow files. Use GitHub Secrets for sensitive values.