feat: init
This commit is contained in:
commit
2e3fcd109d
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/target
|
1645
Cargo.lock
generated
Normal file
1645
Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
11
Cargo.toml
Normal file
11
Cargo.toml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[package]
|
||||||
|
name = "htmxui"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
maud = { version = "0.26.0", features = ["rocket"] }
|
||||||
|
rocket = "0.5.1"
|
||||||
|
|
17
Dockerfile
Normal file
17
Dockerfile
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# Start with an Alpine base image
|
||||||
|
FROM alpine:latest
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Copy the binary, public directory, and .env file
|
||||||
|
COPY target/release/htmxui /app/htmxui
|
||||||
|
# COPY public /app/public
|
||||||
|
# COPY .env /app/.env
|
||||||
|
|
||||||
|
# Ensure the main binary is executable
|
||||||
|
RUN chmod +x /app/htmxui
|
||||||
|
|
||||||
|
# Set the command to run the main binary
|
||||||
|
CMD ["/app/htmxui"]
|
||||||
|
|
||||||
|
|
21
Jenkinsfile
vendored
Normal file
21
Jenkinsfile
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
pipeline {
|
||||||
|
agent {
|
||||||
|
docker {
|
||||||
|
reuseNode true
|
||||||
|
image 'rust:1-alpine'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage('Build release binary') {
|
||||||
|
steps {
|
||||||
|
sh 'cargo build --release'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('Profit') {
|
||||||
|
steps {
|
||||||
|
sh 'docker-compose down || true'
|
||||||
|
sh 'docker-compose up -d --build'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
10
docker-compose.yml
Normal file
10
docker-compose.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
services:
|
||||||
|
htmxui:
|
||||||
|
container_name: htmxui
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
ports:
|
||||||
|
- "8008:8000"
|
||||||
|
restart: unless-stopped
|
||||||
|
|
23
src/main.rs
Normal file
23
src/main.rs
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
#[macro_use]
|
||||||
|
extern crate rocket;
|
||||||
|
use maud::{html, Markup, DOCTYPE};
|
||||||
|
|
||||||
|
#[get("/")]
|
||||||
|
fn index() -> Markup {
|
||||||
|
html! {
|
||||||
|
(DOCTYPE)
|
||||||
|
html lang="es" {
|
||||||
|
head {}
|
||||||
|
body {
|
||||||
|
div {
|
||||||
|
"Hello, world!"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[launch]
|
||||||
|
fn rocket() -> _ {
|
||||||
|
rocket::build().mount("/", routes![index])
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user