Manual Hello World Deployment
Build and deploy a simple βHello Worldβ Raindrop service using direct CLI commands. This approach gives you complete control over each step of the deployment process.
Prerequisites
- Raindrop CLI installed and authenticated
- Node.js 18+ installed
- Basic TypeScript knowledge
- Text editor of your choice
Create Your Project
Initialize a new Raindrop application:
raindrop build init hello-worldcd hello-world
This command creates a new directory with your application name and sets up the basic project structure with a raindrop.manifest
file.
Review Your Manifest
The raindrop build init
command creates a basic manifest file with your service already configured:
application "hello-world" { service "hello-service" { visibility = "public" }}
The service is automatically configured with a public domain that will be generated during deployment.
Generate Project Files
Run the generate command to create the necessary project structure:
raindrop build generate
This command creates the TypeScript service implementation and updates the project structure:
Directoryhello-world/
- raindrop.manifest
- package.json
- tsconfig.json
Directorysrc/
Directoryhello-service/
- index.ts
- index.test.ts
- raindrop.gen.ts
Implement Your Service
Open src/hello-service/index.ts
and replace the generated code with this implementation:
import { Service } from '@liquidmetal-ai/raindrop-framework';import { Env } from './raindrop.gen';
export default class extends Service<Env> { async fetch(request: Request): Promise<Response> { return new Response('Hello World!'); }}
Install Dependencies
Install the required Node.js dependencies:
npm install
Deploy Your Service
Deploy your service to the Raindrop cloud:
raindrop build deploy --start
After deployment completes, youβll see output similar to this:
Building to /Users/yourname/hello-world/distBuilding entry points:/Users/yourname/hello-world/src/hello-service/index.tsBuild successfulUploaded bundle "hello-service"π You deployed a full version, updates will require a full versioned deployment to work
π Watching deployment status...
hello-world @01k0xyz...Status: running
Modules (1) ββ hello-service - running - https://svc-01k0xyz123abc.01jtgsh456xyz789.lmapp.run
ββββββββββββββββββββββββββββββββββββββββββββββββββTotal: 1 modules (1 running)
Your service URL will be shown in the deployment output. Copy this URL to test your service.
Test Your Deployed Service
Test your service using curl with the URL from your deployment output:
curl https://svc-01k0xyz123abc.01jtgsh456xyz789.lmapp.run
Expected response:
Hello World!
Make Changes and Redeploy
To update your service:
- Edit
src/hello-service/index.ts
- Run
raindrop build deploy --start
again - Test your changes
The deployment process typically takes 30-60 seconds.
Understanding the Workflow
You just completed the core Raindrop deployment workflow:
- Manifest - Declare your application architecture
- Generate - Create TypeScript files and project structure
- Implement - Write your service logic
- Deploy - Push to live infrastructure
This pattern scales from simple services to complex applications with databases, queues, and multiple interconnected services.