Skip to content

Commit a97dfbc

Browse files
committed
Add GitHub Actions workflow for building and pushing MCP Docker image
1 parent a82d705 commit a97dfbc

File tree

2 files changed

+110
-0
lines changed

2 files changed

+110
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Build and Push MCP Docker Image
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
tags:
8+
- 'v*'
9+
- 'mcp-v*'
10+
paths:
11+
- 'mcp/**'
12+
- '.github/workflows/docker-mcp-publish.yml'
13+
workflow_dispatch:
14+
15+
jobs:
16+
build-and-push:
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v4
22+
23+
- name: Set up Docker Buildx
24+
uses: docker/setup-buildx-action@v3
25+
26+
- name: Log in to DockerHub
27+
uses: docker/login-action@v3
28+
with:
29+
username: ${{ secrets.DOCKERHUB_USERNAME }}
30+
password: ${{ secrets.DOCKERHUB_TOKEN }}
31+
32+
- name: Extract metadata
33+
id: meta
34+
uses: docker/metadata-action@v5
35+
with:
36+
images: |
37+
${{ secrets.DOCKERHUB_USERNAME }}/agentops-mcp
38+
tags: |
39+
type=ref,event=branch
40+
type=semver,pattern={{version}}
41+
type=semver,pattern={{major}}.{{minor}}
42+
type=raw,value=latest,enable={{is_default_branch}}
43+
44+
- name: Build and push Docker image
45+
uses: docker/build-push-action@v5
46+
with:
47+
context: ./mcp
48+
file: ./mcp/Dockerfile
49+
push: true
50+
tags: ${{ steps.meta.outputs.tags }}
51+
labels: ${{ steps.meta.outputs.labels }}
52+
cache-from: type=gha
53+
cache-to: type=gha,mode=max

mcp/.dockerignore

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Version control
2+
.git
3+
.gitignore
4+
5+
# Documentation (but keep README.md for build)
6+
*.md
7+
!README.md
8+
docs/
9+
LICENSE
10+
11+
# Development files
12+
.env
13+
.env.*
14+
*.log
15+
*.pyc
16+
__pycache__/
17+
.pytest_cache/
18+
.coverage
19+
.mypy_cache/
20+
.ruff_cache/
21+
22+
# IDE files
23+
.vscode/
24+
.idea/
25+
*.swp
26+
*.swo
27+
*~
28+
29+
# OS files
30+
.DS_Store
31+
Thumbs.db
32+
33+
# Build artifacts
34+
build/
35+
dist/
36+
*.egg-info/
37+
.eggs/
38+
39+
# Testing
40+
tests/
41+
test_*.py
42+
*_test.py
43+
44+
# CI/CD
45+
.github/
46+
Dockerfile
47+
docker-compose*.yml
48+
49+
# Example configurations
50+
*example*
51+
*sample*
52+
53+
# Temporary files
54+
tmp/
55+
temp/
56+
*.tmp
57+
*.bak

0 commit comments

Comments
 (0)