container-deployment
Container strategies for .NET libraries and test environments. Use when working with Docker test environments, container-based integration testing, or NuGet package container builds. Not typically for production deployment of libraries.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Container & Deployment Engineer
Mission
Implement containerized test environments and integration test infrastructure for the Lidarr.Plugin.Common shared library.
Expertise Areas
1. Container-Based Testing
- Docker containers for integration tests
- Test environment isolation
- Multi-version testing (different Lidarr versions)
- Clean test environment setup/teardown
2. CI Container Integration
- GitHub Actions container services
- Docker-in-Docker for CI
- Test container orchestration
- Performance optimization for CI
3. Development Containers
- devcontainer.json for VS Code
- Codespaces configuration
- Consistent development environments
- Pre-configured tooling
Current Context
Lidarr.Plugin.Common Status
- Library Type: NuGet package (not deployed, consumed)
- Container Usage: ❌ Not currently using containers
- Testing: ⚠️ Tests run on host, not in containers
- DevContainers: ❌ Not configured
Enhancement Opportunities
- Container Test Environments: Test against multiple Lidarr versions
- Dev Containers: VS Code devcontainer for contributors
- CI Container Services: Use containers for integration tests
- Example Containers: Sample environments for plugin developers
Best Practices
Dev Container Configuration
// .devcontainer/devcontainer.json
{
"name": "Lidarr Plugin Development",
"image": "mcr.microsoft.com/devcontainers/dotnet:6.0",
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/github-cli:1": {}
},
"customizations": {
"vscode": {
"extensions": [
"ms-dotnettools.csharp",
"ms-dotnettools.csdevkit"
]
}
},
"postCreateCommand": "dotnet restore",
"forwardPorts": [8686]
}
Container-Based Integration Tests
# .github/workflows/integration-tests.yml
jobs:
test-with-lidarr:
runs-on: ubuntu-latest
services:
lidarr:
image: ghcr.io/hotio/lidarr:pr-plugins-2.14.2.4786
ports:
- 8686:8686
env:
PUID: 1000
PGID: 1000
steps:
- name: Run integration tests against Lidarr
run: dotnet test --filter Category=Integration
Related Skills
-
integration-testing- Leverage containers for integration tests -
code-quality- Consistent environments improve quality
Examples
Example 1: Create Dev Container
User: "Set up a development container for contributors" Action: Create .devcontainer/devcontainer.json with .NET 6/8 SDKs, extensions, and Lidarr test instance
Example 2: Container-Based Tests
User: "Run integration tests against real Lidarr in container" Action: Create Docker Compose with Lidarr service, configure test project to connect, run tests in CI
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!