nim-ci-cd
v1.2.0
Published
**Nim** is a powerful CLI tool that automates the creation of CI/CD pipelines for **Docker**, **Kubernetes**, and **GitHub Actions**, enabling seamless deployments for **React**, **Next.js**, and **Node.js** applications.
Downloads
10
Maintainers
Readme
Nim CI/CD Tool
Nim is a powerful CLI tool that automates the creation of CI/CD pipelines for Docker, Kubernetes, and GitHub Actions, enabling seamless deployments for React, Next.js, and Node.js applications.
With Nim, you can quickly set up Docker images, deploy to Kubernetes, push images to Docker Hub, set up CI/CD pipelines, and even automate secret management for GitHub Actions. This tool helps you streamline the deployment process with zero downtime using advanced features.
Features
- Docker Integration: Create Dockerfiles, build Docker images, and push them to Docker Hub.
- Kubernetes Integration: Generate Kubernetes deployment YAML for zero-downtime deployments.
- GitHub Actions Integration: Set up automated CI/CD pipelines for your projects.
- Jenkins Integration: Generate Jenkinsfiles for Jenkins-based CI/CD automation.
- Interactive Prompts: Dynamically ask for necessary configuration details (e.g., Docker image name, GitHub secrets).
- Error Handling and Logging: Built-in error handling, logging, and status reporting using Ora and Chalk.
- Cloud Deployment: Placeholder for AWS Elastic Beanstalk, GCP, and DigitalOcean deployment options.
- Versioning: Easily track the version of the tool and get help via the command line.
Prerequisites
Before using Nim, ensure that you have the following installed:
- Node.js: The tool is built with Node.js, so make sure it's installed. You can download and install it from here.
- Docker: Ensure Docker is installed to build and push Docker images. You can download Docker from here.
- Kubernetes: Kubernetes must be set up and
kubectlinstalled to deploy applications. - GitHub Account: For GitHub Actions integration, you will need a GitHub account and repository access.
- Jenkins (Optional): If you choose to use Jenkins, ensure Jenkins is set up on your system.
Installation
## ⚡ Quick Install
Install globally via npm:
npm install -g nim-ci-cdNow the nim command is available globally.
🚀 Usage
Run the CLI to perform CI/CD tasks:
nim ci-cd helpThis shows all available commands.
Docker Commands
# Create Dockerfile
nim ci-cd create-dockerfile
# Build Docker image
nim ci-cd build-image
# Push Docker image to Docker Hub
nim ci-cd push-imageKubernetes Commands
# Create Kubernetes deployment YAML
nim ci-cd create-k8s-deployment
# Deploy to Kubernetes cluster
nim ci-cd deploy-k8s# Setup GitHub Actions workflow
nim ci-cd setup-github-actions
Setup Jenkins pipeline
nim ci-cd setup-jenkins
Setup GitHub Secrets for secure credentials
nim ci-cd setup-github-secrets
# Setup GitHub Actions workflow
nim ci-cd setup-github-actions
# Setup Jenkins pipeline
nim ci-cd setup-jenkins
# Setup GitHub Secrets for secure credentials
nim ci-cd setup-github-secrets🎉 Quick Start Example
# Install globally
npm install -g nim-ci-cd
# Create Dockerfile
nim ci-cd create-dockerfile
# Build Docker image
nim ci-cd build-image
# Push image to Docker Hub
nim ci-cd push-image
# Create Kubernetes deployment
nim ci-cd create-k8s-deployment
# Deploy app
nim ci-cd deploy-k8s
# Setup GitHub Actions pipeline
nim ci-cd setup-github-actions⚙ Configuration
Docker Image Name: Specify interactively or manually with --image.
Kubernetes Deployment: Customize namespace, replicas, labels, and environment variables.
🌟 Advanced Features
Multi-stage Docker builds for smaller images
Zero-downtime Kubernetes deployments
Helm chart integration for Kubernetes
Placeholder cloud deployments: AWS, GCP, DigitalOcean
🤝 Contributing
Fork repo
Create branch: git checkout -b feature/feature-name
Commit: git commit -m "Add feature"
Push: git push origin feature/feature-name
Open a pull request
Credit
https://www.zaynmiraj.com [email protected]
Organizations
NimCloud Systems
https:///www.nimcloudsystems.com📄 License
MIT License — see LICENSE file.
