Remove the logger (for the moment) and update the deployment script.

This commit is contained in:
Greg Burri 2020-05-12 00:10:42 +02:00
parent d83b56c642
commit dcf7523ccf
5 changed files with 258 additions and 288 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
target
**/*.rs.bk
backend/data/recipes.sqlite
/deploy-to-pi.ps1

483
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -13,10 +13,9 @@ serde = { version = "1.0", features = ["derive"] }
listenfd = "0.3" # To watch file modifications and automatically launch a build process (only used in dev/debug).
ron = "0.5" # Rust object notation, to load configuration files.
itertools = "0.9"
env_logger = "0.7"
common = { path = "../common" }
[dependencies.rusqlite]
version = "0.22"
features = ["bundled"]
version = "0.23"
features = ["bundled"]

View file

@ -2,13 +2,12 @@ use std::io::prelude::*;
use std::{fs::File, env::args};
use actix_files as fs;
use actix_web::{get, web, Responder, middleware, App, HttpServer, HttpResponse, web::Query, middleware::Logger};
use actix_web::{get, web, Responder, middleware, App, HttpServer, HttpResponse, web::Query};
use askama::Template;
use listenfd::ListenFd;
use ron::de::from_reader;
use serde::Deserialize;
use env_logger;
use itertools::Itertools;
@ -28,7 +27,7 @@ pub struct Request {
fn main_page(query: Query<Request>) -> HttpResponse {
let main_template = MainTemplate { test: &"*** test ***" };
let main_template = MainTemplate { test: &"*** test 2 ***" };
let s = main_template.render().unwrap();
HttpResponse::Ok().content_type("text/html").body(s)
@ -64,7 +63,6 @@ async fn main() -> std::io::Result<()> {
// let database_connection = db::create_or_update();
std::env::set_var("RUST_LOG", "actix_web=info");
env_logger::init();
let mut listenfd = ListenFd::from_env();
let mut server =
@ -72,8 +70,6 @@ async fn main() -> std::io::Result<()> {
|| {
App::new()
.wrap(middleware::Compress::default())
.wrap(Logger::default())
.wrap(Logger::new("%a %{User-Agent}i"))
.service(web::resource("/").to(main_page))
.service(fs::Files::new("/static", "static").show_files_listing())
}

View file

@ -1,28 +1,43 @@
if ($args.Count -lt 1) {
# TODO:
# * copy the conf if it doesn't exist
# * create the destination directory if doesn't exist
if ($args.Count -lt 3) {
$scriptName = [Environment]::GetCommandLineArgs()[1]
echo "Usage: $scriptName <destination>"
Write-Output "Usage: $scriptName <address: string> <remote director: string> <key file: openssh format>"
exit 1
}
cargo build --release
$address=$args[0]
$destination=$args[1]
$ssh_key=$args[2]
systemctl --user stop www-recipes.service
$ssh_command = "ssh -i $ssh_key $address"
$scp_command = "scp -r -i $ssh_key"
$destination=$args[0]
if (!(Test-Path -Path $destination)) {
New-Item -ItemType directory -Path $destination
function Invoke-SSH([string]$command)
{
$expression = "$ssh_command $command"
Write-Output "Executing: $expression"
Invoke-Expression $expression | Write-Output
}
strip target/release/recipes
Copy-Item target/release/recipes -Destination $destination
Copy-Item backend/static -Destination $destination -Recurse -Force
# Do not overwrite the configuration.
if (!(Test-Path -Path $destination/conf.ron)) {
Copy-Item backend/conf.ron -Destination $destination
function Copy-SSH([string]$source, [string]$destination)
{
$expression = "$scp_command $source ${address}:$destination"
Write-Output "Executing: $expression"
Invoke-Expression $expression
}
systemctl --user start www-recipes.service
cargo build --target arm-unknown-linux-gnueabihf --release
# $a = Invoke-Expression ($ssh_command + "ls")
Invoke-SSH("sudo systemctl stop recipes")
Copy-SSH -source "./target/arm-unknown-linux-gnueabihf/release/recipes" -destination "~/recipes/"
Copy-SSH -source "./backend/static/" -destination "~/recipes/"
Invoke-SSH("chmod u+x recipes/recipes")
Invoke-SSH("sudo systemctl start recipes")
Write-Output "Deployment finished"