feat: deploy

This commit is contained in:
Maulana Sodiqin
2025-03-19 19:33:56 +07:00
parent f9c49d44b5
commit 2872c1827a
7 changed files with 431 additions and 273 deletions
+65
View File
@@ -0,0 +1,65 @@
name: Deploy
on:
push:
branches:
- main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Build the project
run: cargo build --release
- name: Stop service on VPS before upload
uses: appleboy/ssh-action@v0.1.7
with:
host: ${{ secrets.VPS_IP }}
username: ${{ secrets.VPS_USER }}
key: ${{ secrets.VPS_SSH_KEY }}
port: ${{ secrets.VPS_PORT }}
script: |
set -e
echo "Stopping the service before uploading the binary"
sudo systemctl stop imphnen-backend-service
- name: Upload artifact to VPS
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.VPS_IP }}
username: ${{ secrets.VPS_USER }}
key: ${{ secrets.VPS_SSH_KEY }}
port: ${{ secrets.VPS_PORT }}
source: ./target/release/imphnen-backend-service
target: /opt/imphnen-backend-service/imphnen-backend-service
rm: true
overwrite: true
- name: Deploy to server
uses: appleboy/ssh-action@v0.1.7
with:
host: ${{ secrets.VPS_IP }}
username: ${{ secrets.VPS_USER }}
key: ${{ secrets.VPS_SSH_KEY }}
port: ${{ secrets.VPS_PORT }}
script: |
set -e
echo "Restarting the service"
sudo systemctl daemon-reload
sudo systemctl restart imphnen-backend-service
echo "Deployment completed successfully"
Generated
+343 -266
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,5 +1,5 @@
[package]
name = "imphnen-cms-be"
name = "imphnen-backend-service"
version = "0.1.0"
edition = "2021"
+16
View File
@@ -48,6 +48,22 @@ impl<'a> GachaRepository<'a> {
}
}
pub async fn query_gacha_claim_by_name(
&self,
name: String,
) -> Result<GachaItemResponseDto> {
let db = &self.state.surrealdb;
let result = db
.select((ResourceEnum::GachaClaims.to_string(), name))
.await?;
match result {
Some(response) => Ok(response),
None => bail!("Gacha item not found"),
}
}
pub async fn query_create_gacha_claim(
&self,
data: GachaCreateClaimRequestDto,
+1 -1
View File
@@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use surrealdb::{engine::remote::http::Client, Surreal};
use surrealdb::{engine::remote::ws::Client, Surreal};
use utoipa::{IntoParams, ToSchema};
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
+4 -4
View File
@@ -1,6 +1,6 @@
use super::Env;
use crate::SurrealClient;
use surrealdb::engine::remote::http::{Client, Http};
use surrealdb::engine::remote::ws::{Client, Ws};
use surrealdb::opt::auth::Root;
use surrealdb::{Result, Surreal};
@@ -10,14 +10,14 @@ pub use resource::*;
pub async fn surrealdb_init() -> Result<SurrealClient> {
let env = Env::new();
let db = Surreal::<Client>::init();
db.connect::<Http>(env.surrealdb_url).await?;
db.connect::<Ws>(env.surrealdb_url.clone()).await?;
db.signin(Root {
username: &env.surrealdb_username,
password: &env.surrealdb_password,
})
.await?;
db.use_ns(env.surrealdb_namespace)
.use_db(env.surrealdb_dbname)
db.use_ns(env.surrealdb_namespace.clone())
.use_db(env.surrealdb_dbname.clone())
.await?;
Ok(db)
}
+1 -1
View File
@@ -1,4 +1,4 @@
use imphnen_cms_be::{apps, axum_init};
use imphnen_backend_service::{apps, axum_init};
#[tokio::main]
async fn main() {