pin

pin - pipeline with Docker Golang API.

View the Project on GitHub muhammedikinci/pin

πŸ“š Pin Documentation

Welcome to the comprehensive documentation for Pin - a local pipeline tool with Docker integration and daemon mode support.

πŸ“– Documentation Index

πŸš€ Getting Started

πŸ“‹ Reference

🎯 Quick Navigation

For Beginners

  1. Start with the Main README to understand what Pin is
  2. Check out Examples for basic usage patterns
  3. Reference Troubleshooting if you encounter issues

For Advanced Users

  1. Explore Use Cases for complex workflow ideas
  2. Use API Reference for daemon mode integration
  3. Check Examples for advanced configuration patterns

For Integrators

  1. Study API Reference for HTTP API integration
  2. Review Use Cases for CI/CD integration patterns
  3. Reference Examples for automation scripts

πŸ”§ Core Concepts

Pipeline Configuration

Pin uses YAML configuration files to define workflows:

workflow:
  - build
  - test
  - deploy

build:
  image: golang:1.21-alpine
  copyFiles: true
  script:
    - go build -o app .

test:
  image: golang:1.21-alpine
  copyFiles: true
  script:
    - go test ./...

deploy:
  image: alpine:latest
  condition: $BRANCH == "main"
  script:
    - echo "Deploying to production"

Key Features

Quick Start

# Install Pin
go install github.com/muhammedikinci/pin/cmd/cli@latest

# Run a simple pipeline
pin apply -f pipeline.yaml

# Start daemon mode
pin apply --daemon

Common Use Cases

🀝 Contributing

Pin is an open-source project. Contributions are welcome!

πŸ“ž Support

Need help? Check these resources:

  1. Documentation: You’re here! Browse the guides above
  2. Examples: Practical examples in the examples section
  3. Troubleshooting: Common issues in troubleshooting
  4. GitHub Issues: Report bugs or ask questions
  5. Discussions: Community discussions and feature requests

Happy pipelining with Pin! πŸ”₯