mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-22 06:18:14 +00:00
441 lines
13 KiB
Plaintext
441 lines
13 KiB
Plaintext
---
|
|
title: "Deploy to AMP"
|
|
description: "Deploy your Crew or Flow to CrewAI AMP"
|
|
icon: "rocket"
|
|
mode: "wide"
|
|
---
|
|
|
|
<Note>
|
|
After creating a Crew or Flow locally (or through Crew Studio), the next step is
|
|
deploying it to the CrewAI AMP platform. This guide covers multiple deployment
|
|
methods to help you choose the best approach for your workflow.
|
|
</Note>
|
|
|
|
## Prerequisites
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Project Ready for Deployment" icon="check-circle">
|
|
You should have a working Crew or Flow that runs successfully locally.
|
|
Follow our [preparation guide](/en/enterprise/guides/prepare-for-deployment) to verify your project structure.
|
|
</Card>
|
|
<Card title="GitHub Repository" icon="github">
|
|
Your code should be in a GitHub repository (for GitHub integration
|
|
method)
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
<Info>
|
|
**Crews vs Flows**: Both project types can be deployed as "automations" on CrewAI AMP.
|
|
The deployment process is the same, but they have different project structures.
|
|
See [Prepare for Deployment](/en/enterprise/guides/prepare-for-deployment) for details.
|
|
</Info>
|
|
|
|
## Option 1: Deploy Using CrewAI CLI
|
|
|
|
The CLI provides the fastest way to deploy locally developed Crews or Flows to the AMP platform.
|
|
The CLI automatically detects your project type from `pyproject.toml` and builds accordingly.
|
|
|
|
<Steps>
|
|
<Step title="Install CrewAI CLI">
|
|
If you haven't already, install the CrewAI CLI:
|
|
|
|
```bash
|
|
pip install crewai[tools]
|
|
```
|
|
|
|
<Tip>
|
|
The CLI comes with the main CrewAI package, but the `[tools]` extra ensures you have all deployment dependencies.
|
|
</Tip>
|
|
|
|
</Step>
|
|
|
|
<Step title="Authenticate with the Enterprise Platform">
|
|
First, you need to authenticate your CLI with the CrewAI AMP platform:
|
|
|
|
```bash
|
|
# If you already have a CrewAI AMP account, or want to create one:
|
|
crewai login
|
|
```
|
|
|
|
When you run either command, the CLI will:
|
|
1. Display a URL and a unique device code
|
|
2. Open your browser to the authentication page
|
|
3. Prompt you to confirm the device
|
|
4. Complete the authentication process
|
|
|
|
Upon successful authentication, you'll see a confirmation message in your terminal!
|
|
|
|
</Step>
|
|
|
|
<Step title="Create a Deployment">
|
|
|
|
From your project directory, run:
|
|
|
|
```bash
|
|
crewai deploy create
|
|
```
|
|
|
|
This command will:
|
|
1. Detect your GitHub repository information
|
|
2. Identify environment variables in your local `.env` file
|
|
3. Securely transfer these variables to the Enterprise platform
|
|
4. Create a new deployment with a unique identifier
|
|
|
|
On successful creation, you'll see a message like:
|
|
```shell
|
|
Deployment created successfully!
|
|
Name: your_project_name
|
|
Deployment ID: 01234567-89ab-cdef-0123-456789abcdef
|
|
Current Status: Deploy Enqueued
|
|
```
|
|
|
|
</Step>
|
|
|
|
<Step title="Monitor Deployment Progress">
|
|
|
|
Track the deployment status with:
|
|
|
|
```bash
|
|
crewai deploy status
|
|
```
|
|
|
|
For detailed logs of the build process:
|
|
|
|
```bash
|
|
crewai deploy logs
|
|
```
|
|
|
|
<Tip>
|
|
The first deployment typically takes 10-15 minutes as it builds the container images. Subsequent deployments are much faster.
|
|
</Tip>
|
|
|
|
</Step>
|
|
</Steps>
|
|
|
|
## Additional CLI Commands
|
|
|
|
The CrewAI CLI offers several commands to manage your deployments:
|
|
|
|
```bash
|
|
# List all your deployments
|
|
crewai deploy list
|
|
|
|
# Get the status of your deployment
|
|
crewai deploy status
|
|
|
|
# View the logs of your deployment
|
|
crewai deploy logs
|
|
|
|
# Push updates after code changes
|
|
crewai deploy push
|
|
|
|
# Remove a deployment
|
|
crewai deploy remove <deployment_id>
|
|
```
|
|
|
|
## Option 2: Deploy Directly via Web Interface
|
|
|
|
You can also deploy your Crews or Flows directly through the CrewAI AMP web interface by connecting your GitHub account. This approach doesn't require using the CLI on your local machine. The platform automatically detects your project type and handles the build appropriately.
|
|
|
|
<Steps>
|
|
|
|
<Step title="Pushing to GitHub">
|
|
|
|
You need to push your crew to a GitHub repository. If you haven't created a crew yet, you can [follow this tutorial](/en/quickstart).
|
|
|
|
</Step>
|
|
|
|
<Step title="Connecting GitHub to CrewAI AMP">
|
|
|
|
1. Log in to [CrewAI AMP](https://app.crewai.com)
|
|
2. Click on the button "Connect GitHub"
|
|
|
|
<Frame>
|
|

|
|
</Frame>
|
|
|
|
</Step>
|
|
|
|
<Step title="Select the Repository">
|
|
|
|
After connecting your GitHub account, you'll be able to select which repository to deploy:
|
|
|
|
<Frame>
|
|

|
|
</Frame>
|
|
|
|
</Step>
|
|
|
|
<Step title="Set Environment Variables">
|
|
|
|
Before deploying, you'll need to set up your environment variables to connect to your LLM provider or other services:
|
|
|
|
1. You can add variables individually or in bulk
|
|
2. Enter your environment variables in `KEY=VALUE` format (one per line)
|
|
|
|
<Frame>
|
|

|
|
</Frame>
|
|
|
|
</Step>
|
|
|
|
<Step title="Deploy Your Crew">
|
|
|
|
1. Click the "Deploy" button to start the deployment process
|
|
2. You can monitor the progress through the progress bar
|
|
3. The first deployment typically takes around 10-15 minutes; subsequent deployments will be faster
|
|
|
|
<Frame>
|
|

|
|
</Frame>
|
|
|
|
Once deployment is complete, you'll see:
|
|
- Your crew's unique URL
|
|
- A Bearer token to protect your crew API
|
|
- A "Delete" button if you need to remove the deployment
|
|
|
|
</Step>
|
|
|
|
</Steps>
|
|
|
|
## Option 3: Redeploy Using API (CI/CD Integration)
|
|
|
|
For automated deployments in CI/CD pipelines, you can use the CrewAI API to trigger redeployments of existing crews. This is particularly useful for GitHub Actions, Jenkins, or other automation workflows.
|
|
|
|
<Steps>
|
|
<Step title="Get Your Personal Access Token">
|
|
|
|
Navigate to your CrewAI AMP account settings to generate an API token:
|
|
|
|
1. Go to [app.crewai.com](https://app.crewai.com)
|
|
2. Click on **Settings** → **Account** → **Personal Access Token**
|
|
3. Generate a new token and copy it securely
|
|
4. Store this token as a secret in your CI/CD system
|
|
|
|
</Step>
|
|
|
|
<Step title="Find Your Automation UUID">
|
|
|
|
Locate the unique identifier for your deployed crew:
|
|
|
|
1. Go to **Automations** in your CrewAI AMP dashboard
|
|
2. Select your existing automation/crew
|
|
3. Click on **Additional Details**
|
|
4. Copy the **UUID** - this identifies your specific crew deployment
|
|
|
|
</Step>
|
|
|
|
<Step title="Trigger Redeployment via API">
|
|
|
|
Use the Deploy API endpoint to trigger a redeployment:
|
|
|
|
```bash
|
|
curl -i -X POST \
|
|
-H "Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN" \
|
|
https://app.crewai.com/crewai_plus/api/v1/crews/YOUR-AUTOMATION-UUID/deploy
|
|
|
|
# HTTP/2 200
|
|
# content-type: application/json
|
|
#
|
|
# {
|
|
# "uuid": "your-automation-uuid",
|
|
# "status": "Deploy Enqueued",
|
|
# "public_url": "https://your-crew-deployment.crewai.com",
|
|
# "token": "your-bearer-token"
|
|
# }
|
|
```
|
|
|
|
<Info>
|
|
If your automation was first created connected to Git, the API will automatically pull the latest changes from your repository before redeploying.
|
|
</Info>
|
|
|
|
</Step>
|
|
|
|
<Step title="GitHub Actions Integration Example">
|
|
|
|
Here's a GitHub Actions workflow with more complex deployment triggers:
|
|
|
|
```yaml
|
|
name: Deploy CrewAI Automation
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
pull_request:
|
|
types: [ labeled ]
|
|
release:
|
|
types: [ published ]
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
if: |
|
|
(github.event_name == 'push' && github.ref == 'refs/heads/main') ||
|
|
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'deploy')) ||
|
|
(github.event_name == 'release')
|
|
steps:
|
|
- name: Trigger CrewAI Redeployment
|
|
run: |
|
|
curl -X POST \
|
|
-H "Authorization: Bearer ${{ secrets.CREWAI_PAT }}" \
|
|
https://app.crewai.com/crewai_plus/api/v1/crews/${{ secrets.CREWAI_AUTOMATION_UUID }}/deploy
|
|
```
|
|
|
|
<Tip>
|
|
Add `CREWAI_PAT` and `CREWAI_AUTOMATION_UUID` as repository secrets. For PR deployments, add a "deploy" label to trigger the workflow.
|
|
</Tip>
|
|
|
|
</Step>
|
|
|
|
</Steps>
|
|
|
|
## Interact with Your Deployed Automation
|
|
|
|
Once deployment is complete, you can access your crew through:
|
|
|
|
1. **REST API**: The platform generates a unique HTTPS endpoint with these key routes:
|
|
|
|
- `/inputs`: Lists the required input parameters
|
|
- `/kickoff`: Initiates an execution with provided inputs
|
|
- `/status/{kickoff_id}`: Checks the execution status
|
|
|
|
2. **Web Interface**: Visit [app.crewai.com](https://app.crewai.com) to access:
|
|
- **Status tab**: View deployment information, API endpoint details, and authentication token
|
|
- **Run tab**: Visual representation of your crew's structure
|
|
- **Executions tab**: History of all executions
|
|
- **Metrics tab**: Performance analytics
|
|
- **Traces tab**: Detailed execution insights
|
|
|
|
### Trigger an Execution
|
|
|
|
From the Enterprise dashboard, you can:
|
|
|
|
1. Click on your crew's name to open its details
|
|
2. Select "Trigger Crew" from the management interface
|
|
3. Enter the required inputs in the modal that appears
|
|
4. Monitor progress as the execution moves through the pipeline
|
|
|
|
### Monitoring and Analytics
|
|
|
|
The Enterprise platform provides comprehensive observability features:
|
|
|
|
- **Execution Management**: Track active and completed runs
|
|
- **Traces**: Detailed breakdowns of each execution
|
|
- **Metrics**: Token usage, execution times, and costs
|
|
- **Timeline View**: Visual representation of task sequences
|
|
|
|
### Advanced Features
|
|
|
|
The Enterprise platform also offers:
|
|
|
|
- **Environment Variables Management**: Securely store and manage API keys
|
|
- **LLM Connections**: Configure integrations with various LLM providers
|
|
- **Custom Tools Repository**: Create, share, and install tools
|
|
- **Crew Studio**: Build crews through a chat interface without writing code
|
|
|
|
## Troubleshooting Deployment Failures
|
|
|
|
If your deployment fails, check these common issues:
|
|
|
|
### Build Failures
|
|
|
|
#### Missing uv.lock File
|
|
|
|
**Symptom**: Build fails early with dependency resolution errors
|
|
|
|
**Solution**: Generate and commit the lock file:
|
|
|
|
```bash
|
|
uv lock
|
|
git add uv.lock
|
|
git commit -m "Add uv.lock for deployment"
|
|
git push
|
|
```
|
|
|
|
<Warning>
|
|
The `uv.lock` file is required for all deployments. Without it, the platform
|
|
cannot reliably install your dependencies.
|
|
</Warning>
|
|
|
|
#### Wrong Project Structure
|
|
|
|
**Symptom**: "Could not find entry point" or "Module not found" errors
|
|
|
|
**Solution**: Verify your project matches the expected structure:
|
|
|
|
- **Both Crews and Flows**: Must have entry point at `src/project_name/main.py`
|
|
- **Crews**: Use a `run()` function as entry point
|
|
- **Flows**: Use a `kickoff()` function as entry point
|
|
|
|
See [Prepare for Deployment](/en/enterprise/guides/prepare-for-deployment) for detailed structure diagrams.
|
|
|
|
#### Missing CrewBase Decorator
|
|
|
|
**Symptom**: "Crew not found", "Config not found", or agent/task configuration errors
|
|
|
|
**Solution**: Ensure **all** crew classes use the `@CrewBase` decorator:
|
|
|
|
```python
|
|
from crewai.project import CrewBase, agent, crew, task
|
|
|
|
@CrewBase # This decorator is REQUIRED
|
|
class YourCrew():
|
|
"""Your crew description"""
|
|
|
|
@agent
|
|
def my_agent(self) -> Agent:
|
|
return Agent(
|
|
config=self.agents_config['my_agent'], # type: ignore[index]
|
|
verbose=True
|
|
)
|
|
|
|
# ... rest of crew definition
|
|
```
|
|
|
|
<Info>
|
|
This applies to standalone Crews AND crews embedded inside Flow projects.
|
|
Every crew class needs the decorator.
|
|
</Info>
|
|
|
|
#### Incorrect pyproject.toml Type
|
|
|
|
**Symptom**: Build succeeds but runtime fails, or unexpected behavior
|
|
|
|
**Solution**: Verify the `[tool.crewai]` section matches your project type:
|
|
|
|
```toml
|
|
# For Crew projects:
|
|
[tool.crewai]
|
|
type = "crew"
|
|
|
|
# For Flow projects:
|
|
[tool.crewai]
|
|
type = "flow"
|
|
```
|
|
|
|
### Runtime Failures
|
|
|
|
#### LLM Connection Failures
|
|
|
|
**Symptom**: API key errors, "model not found", or authentication failures
|
|
|
|
**Solution**:
|
|
1. Verify your LLM provider's API key is correctly set in environment variables
|
|
2. Ensure the environment variable names match what your code expects
|
|
3. Test locally with the exact same environment variables before deploying
|
|
|
|
#### Crew Execution Errors
|
|
|
|
**Symptom**: Crew starts but fails during execution
|
|
|
|
**Solution**:
|
|
1. Check the execution logs in the AMP dashboard (Traces tab)
|
|
2. Verify all tools have required API keys configured
|
|
3. Ensure agent configurations in `agents.yaml` are valid
|
|
4. Check task configurations in `tasks.yaml` for syntax errors
|
|
|
|
<Card title="Need Help?" icon="headset" href="mailto:support@crewai.com">
|
|
Contact our support team for assistance with deployment issues or questions
|
|
about the AMP platform.
|
|
</Card>
|