Fix the production dockerfile #12
|
@ -2,8 +2,8 @@ version: '3.7'
|
|||
services:
|
||||
filed:
|
||||
build:
|
||||
context: filed
|
||||
dockerfile: Dockerfile.prod
|
||||
context: .
|
||||
dockerfile: filed/Dockerfile.prod
|
||||
networks:
|
||||
bfile:
|
||||
volumes:
|
||||
|
|
|
@ -2,16 +2,17 @@
|
|||
FROM rust:alpine as builder
|
||||
|
||||
WORKDIR /opt/build
|
||||
COPY . .
|
||||
COPY filed .
|
||||
COPY ./.git ./.git
|
||||
|
||||
RUN apk add --no-cache musl-dev upx nodejs yarn && \
|
||||
yarn global add uglify-js
|
||||
RUN apk add --no-cache git musl-dev upx nodejs yarn && \
|
||||
yarn global add uglify-js@3.17.4
|
||||
|
||||
RUN cargo b -r
|
||||
RUN strip target/release/filed && upx --best target/release/filed
|
||||
|
||||
# --- deploy ---
|
||||
FROM busybox:musl
|
||||
FROM alpine:3.17
|
||||
|
||||
RUN mkdir /config
|
||||
WORKDIR /config
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
use std::{fs, path::PathBuf, ffi::OsStr, process::Command};
|
||||
use std::{fs, path::PathBuf, ffi::OsStr, process::Command, error::Error};
|
||||
|
||||
use css_minify::optimizations::{Minifier, Level};
|
||||
|
||||
|
@ -17,17 +17,17 @@ fn extfilter(valid: String, x: Option<&OsStr>) -> bool {
|
|||
ext == valid
|
||||
}
|
||||
|
||||
fn system(cmd: &str, args: &[&str]) -> String {
|
||||
fn system(cmd: &str, args: &[&str]) -> Result<String, Box<dyn Error>> {
|
||||
let out = Command::new(cmd)
|
||||
.args(args)
|
||||
.output()
|
||||
.unwrap();
|
||||
?;
|
||||
|
||||
if out.stderr.len() != 0 {
|
||||
panic!("Got this while running {cmd} with \"{}\": {}", args.join(" "), String::from_utf8(out.stderr).unwrap())
|
||||
}
|
||||
|
||||
String::from_utf8(out.stdout).unwrap()
|
||||
Ok(String::from_utf8(out.stdout)?)
|
||||
}
|
||||
|
||||
fn main() {
|
||||
|
@ -65,17 +65,24 @@ fn main() {
|
|||
|
||||
scripts.iter().for_each(|asset| {
|
||||
Command::new("uglifyjs")
|
||||
.arg("-c")
|
||||
.arg(asset)
|
||||
.arg("-o")
|
||||
.arg(asset_path(asset))
|
||||
.arg("-c")
|
||||
.spawn()
|
||||
.unwrap();
|
||||
});
|
||||
|
||||
let commit = system("git", &["rev-parse", "HEAD"]);
|
||||
let branch = system("git", &["rev-parse", "--abbrev-ref", "HEAD"]);
|
||||
let commit = system("git", &["rev-parse", "HEAD"]).map_err(|x| x.to_string());
|
||||
let branch = system("git", &["rev-parse", "--abbrev-ref", "HEAD"]).map_err(|x| x.to_string());
|
||||
|
||||
println!("cargo:rustc-env=COMMIT_HASH={commit}");
|
||||
println!("cargo:rustc-env=COMMIT_BRANCH={branch}");
|
||||
match commit {
|
||||
Err(err) => panic!("Can't get commit: {}", err),
|
||||
Ok(commit) => println!("cargo:rustc-env=COMMIT_HASH={commit}")
|
||||
}
|
||||
|
||||
match branch {
|
||||
Err(err) => panic!("Can't get commit: {}", err),
|
||||
Ok(branch) => println!("cargo:rustc-env=COMMIT_BRANCH={branch}")
|
||||
}
|
||||
}
|
|
@ -10,7 +10,7 @@ RUN cargo b -r
|
|||
RUN strip target/release/janitor && upx --best target/release/janitor
|
||||
|
||||
# --- deploy ---
|
||||
FROM busybox:musl
|
||||
FROM alpipne:3.17
|
||||
|
||||
RUN mkdir /config
|
||||
WORKDIR /config
|
||||
|
|
Loading…
Reference in New Issue