Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/Arete-Consortium/ai-skills --skill deploy명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | deploy |
| description | Deployment Checklist & Setup |
| lifecycle | experimental |
Deployment guides for various platforms.
/deploy # Analyze project, suggest deployment
/deploy systemd # Linux systemd service
/deploy docker # Docker deployment
/deploy cloud # Cloud deployment guide
# /etc/systemd/system/myapp.service
[Unit]
Description=My Application
After=network.target
[Service]
Type=simple
User=myapp
Group=myapp
WorkingDirectory=/opt/myapp
Environment="PATH=/opt/myapp/.venv/bin"
ExecStart=/opt/myapp/.venv/bin/python -m myapp serve
Restart=always
RestartSec=5
# Security hardening
NoNewPrivileges=yes
PrivateTmp=yes
ProtectSystem=strict
ProtectHome=yes
ReadWritePaths=/opt/myapp/data
[Install]
WantedBy=multi-user.target
#!/bin/bash
# deploy.sh
set -e
APP_DIR=/opt/myapp
SERVICE=myapp
echo "Deploying myapp..."
# Stop service
sudo systemctl stop $SERVICE || true
# Update code
cd $APP_DIR
git pull origin main
# Update dependencies
.venv/bin/pip install -e .
# Run migrations (if applicable)
# .venv/bin/python -m myapp migrate
# Start service
sudo systemctl start $SERVICE
sudo systemctl status $SERVICE
echo "Deployment complete!"
version: "3.8"
services:
app:
build: .
ports:
- "8000:8000"
environment:
- DATABASE_URL=${DATABASE_URL}
- SECRET_KEY=${SECRET_KEY}
volumes:
- app-data:/app/data
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 3
db:
image: postgres:15
environment:
- POSTGRES_DB=myapp
- POSTGRES_USER=myapp
- POSTGRES_PASSWORD=${DB_PASSWORD}
volumes:
- db-data:/var/lib/postgresql/data
restart: unless-stopped
volumes:
app-data:
db-data:
# Build and deploy
docker compose build
docker compose up -d
# View logs
docker compose logs -f app
# Update deployment
docker compose pull
docker compose up -d --build
# Rollback
docker compose down
docker compose up -d --no-build # Uses previous image
# Deployment Checklist: [App Name]
## Pre-Deployment
- [ ] All tests passing
- [ ] Version bumped
- [ ] CHANGELOG updated
- [ ] Environment variables documented
- [ ] Database migrations ready
- [ ] Backup taken (if applicable)
## Configuration
- [ ] Production .env file ready
- [ ] Secrets rotated (if needed)
- [ ] SSL certificates valid
- [ ] Domain DNS configured
## Deployment
- [ ] Code deployed
- [ ] Dependencies installed
- [ ] Migrations run
- [ ] Static assets built/deployed
- [ ] Service restarted
## Post-Deployment
- [ ] Health check passing
- [ ] Smoke tests passing
- [ ] Logs checked for errors
- [ ] Monitoring alerts configured
- [ ] Rollback plan tested
## Rollback Plan
1. Stop service: `sudo systemctl stop myapp`
2. Checkout previous version: `git checkout v1.2.3`
3. Reinstall deps: `pip install -e .`
4. Start service: `sudo systemctl start myapp`
# Add to your application
@app.get("/health")
async def health_check():
"""Health check endpoint for monitoring."""
checks = {
"status": "healthy",
"version": __version__,
"checks": {}
}
# Database check
try:
await db.execute("SELECT 1")
checks["checks"]["database"] = "ok"
except Exception as e:
checks["status"] = "unhealthy"
checks["checks"]["database"] = str(e)
# Cache check
try:
await cache.ping()
checks["checks"]["cache"] = "ok"
except Exception as e:
checks["checks"]["cache"] = str(e)
status_code = 200 if checks["status"] == "healthy" else 503
return JSONResponse(checks, status_code=status_code)
When /deploy is invoked: