Welcome to DeployMate, your go-to framework for building, automating, and managing Continuous Integration and Continuous Deployment (CI/CD) pipelines as code. This project aims to simplify the setup and maintenance of CI/CD pipelines, providing a flexible and robust solution for developers and DevOps engineers.
DeployMate is designed to help you automate your CI/CD workflows using a code-first approach. With DeployMate, you can define your pipeline configurations in code, making them easy to version control, share, and reuse.
- Code-Driven Pipelines: Define your entire CI/CD workflow as code.
- Multi-Platform Support: Works with various CI/CD tools (e.g., Jenkins, GitHub Actions, CircleCI).
- Cloud Integration: Seamlessly integrates with AWS, Azure, and GCP.
- Extensible: Easily add custom steps and integrations.
- Notification Support: Get notifications via Slack, email, or other channels.
- Scalable: Supports complex workflows and parallel execution.
Before you begin, ensure you have the following installed:
You can install DeployMate via npm:
npm install -g deploymateCreate a configuration file deploymate.yml in the root of your project. Below is an example configuration:
version: '1.0'
stages:
- name: Build
steps:
- run: npm install
- run: npm test
- name: Deploy
steps:
- run: docker build -t myapp .
- run: docker push myappTo run your CI/CD pipeline, simply use the DeployMate CLI:
deploymate runHere are some example configurations for different environments and use cases:
version: '1.0'
stages:
- name: Build
steps:
- run: npm install
- run: npm test
- name: Deploy
steps:
- run: docker build -t mynodeapp .
- run: docker push mynodeappversion: '1.0'
stages:
- name: Build
steps:
- run: pip install -r requirements.txt
- run: pytest
- name: Deploy
steps:
- run: docker build -t mypythonapp .
- run: docker push mypythonappWe welcome contributions from the community! If you would like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/your-feature-name). - Open a pull request.
Please ensure your code adheres to our coding standards and includes tests where applicable.
DeployMate is licensed under the MIT License. See the LICENSE file for more details.
If you have any questions or need further assistance, feel free to contact us at:
- Email: sugam.arora23@gmail.com
- GitHub Issues: https://github.com/SUGAM-ARORA/deploymate/issues
Thank you for using DeployMate! We hope it helps streamline your CI/CD processes and boosts your productivity.