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 deploymate
Create 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 myapp
To run your CI/CD pipeline, simply use the DeployMate CLI:
deploymate run
Here 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 mynodeapp
version: '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 mypythonapp
We 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.