This repository contains reusable YAML templates and scripts for Azure DevOps pipelines. It is designed to streamline CI/CD processes, automate testing, and ensure code quality for projects within the IRAS ecosystem.
LICENSE
README.md
docs/
jobs/
steps/
docs/: Documentation files, including templates for pull requests.jobs/: YAML files defining reusable pipeline jobs, such asbuild,deploy, andtest.steps/: Modular YAML templates for individual pipeline steps, organized by functionality (e.g.,automationtests,codeanalysis,dotnet, etc.).
- Azure DevOps account
- Access to the repository
- Required Azure DevOps service connections (e.g.,
service_connection,ACR Dev Connection)
-
Clone the repository:
git clone https://github.com/your-org/rsp-azure-devops-library.git cd rsp-azure-devops-library -
Integrate the YAML templates into your Azure DevOps pipelines by referencing them in your pipeline definitions.
-
Reference jobs in your pipeline YAML files:
jobs: - template: jobs/build.yaml parameters: run_github_security_scan: true sonar_project_key: 'your-project-key' sonar_project_name: 'your-project-name'
-
Reference steps in your pipeline YAML files:
steps: - template: steps/dotnet/build.yaml parameters: checkout: true
- Build Automation: Templates for building .NET projects, restoring dependencies, and generating reports.
- Testing: Support for unit tests, API tests, and end-to-end tests using tools like Playwright and Newman.
- Code Quality: Integration with SonarCloud for static code analysis and quality gate validation.
- Security: Dependency scanning and CodeQL analysis for identifying vulnerabilities.
- Deployment: Templates for deploying to Azure App Services, Azure Functions, and Azure Container Apps.
- Reporting: Automated publishing of test reports and code coverage results.
Use the build.yaml job to automate the build process:
jobs:
- template: build.yaml
parameters:
run_github_security_scan: true
run_sonarcloud_analysis: trueRun unit tests, API tests, or end-to-end tests using the respective templates:
jobs:
- template: api_tests.yaml
parameters:
reportDirectory: 'test-reports'
upload_to_sharepoint: falseWe welcome contributions to improve this library. To contribute:
- Fork the repository.
- Create a feature branch.
- Commit your changes with clear commit messages.
- Submit a pull request.
Please ensure your code adheres to the repository's coding standards and passes all tests.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or support, please contact the repository maintainers or open an issue in the repository.