devops

CI/CD pipelines, containerization, and deployment automation.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "devops" with this command: npx skills add htlin222/dotfiles/htlin222-dotfiles-devops

DevOps

CI/CD pipelines, containerization, and deployment automation.

When to Use

  • Setting up CI/CD pipelines

  • Creating Dockerfiles

  • Configuring deployments

  • Troubleshooting builds

  • Infrastructure automation

Docker

Dockerfile Best Practices

Multi-stage build

FROM node:20-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . RUN npm run build

FROM node:20-alpine AS runner WORKDIR /app ENV NODE_ENV=production COPY --from=builder /app/dist ./dist COPY --from=builder /app/node_modules ./node_modules USER node EXPOSE 3000 CMD ["node", "dist/index.js"]

Docker Compose

version: "3.8" services: app: build: . ports: - "3000:3000" environment: - DATABASE_URL=postgres://db:5432/app depends_on: - db healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3000/health"] interval: 30s timeout: 10s retries: 3

db: image: postgres:15-alpine volumes: - postgres_data:/var/lib/postgresql/data environment: - POSTGRES_DB=app - POSTGRES_PASSWORD_FILE=/run/secrets/db_password secrets: - db_password

volumes: postgres_data:

secrets: db_password: file: ./secrets/db_password.txt

GitHub Actions

name: CI/CD

on: push: branches: [main] pull_request: branches: [main]

jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 20 cache: "npm" - run: npm ci - run: npm test - run: npm run lint

deploy: needs: test if: github.ref == 'refs/heads/main' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Deploy run: | echo "Deploying to production"

Kubernetes Basics

apiVersion: apps/v1 kind: Deployment metadata: name: app spec: replicas: 3 selector: matchLabels: app: myapp template: metadata: labels: app: myapp spec: containers: - name: app image: myapp:latest ports: - containerPort: 3000 resources: requests: memory: "128Mi" cpu: "100m" limits: memory: "256Mi" cpu: "200m" livenessProbe: httpGet: path: /health port: 3000 initialDelaySeconds: 10 periodSeconds: 30

Examples

Input: "Set up CI/CD for this project" Action: Detect framework, create GitHub Actions workflow, add tests and deploy steps

Input: "Dockerize this app" Action: Create optimized Dockerfile, docker-compose for local dev, document usage

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

python

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-review

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

dev-docs

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

update-dev-docs

No summary provided by upstream source.

Repository SourceNeeds Review