From 5cd5c7ccf1649ff158f55897f473168811557b2e Mon Sep 17 00:00:00 2001 From: Dessalines Date: Wed, 10 Apr 2019 11:10:57 -0700 Subject: [PATCH] Adding docker caching --- Dockerfile | 31 ++++++++++++++++++++++++++++--- ui/fuse.js | 4 ++-- ui/set_version.js | 2 ++ ui/src/version.ts | 2 +- 4 files changed, 33 insertions(+), 6 deletions(-) mode change 100644 => 100755 ui/set_version.js diff --git a/Dockerfile b/Dockerfile index 3e4468dd2..e2803851f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,9 +6,34 @@ RUN yarn RUN yarn build FROM rust:1.33 as rust -COPY server /app/server + +# create a new empty shell project +WORKDIR /app +RUN USER=root cargo new server WORKDIR /app/server + +# copy over your manifests +COPY server/Cargo.toml server/Cargo.lock ./ + +# this build step will cache your dependencies +RUN mkdir -p ./src/bin \ + && echo 'fn main() { println!("Dummy") }' > ./src/bin/main.rs +RUN cargo build --release --bin lemmy +RUN ls ./target/release/.fingerprint/ +RUN rm -r ./target/release/.fingerprint/server-* + +# copy your source tree +# RUN rm -rf ./src/ +COPY server/src ./src/ +COPY server/migrations ./migrations/ + +# build for release +RUN cargo build --frozen --release --bin lemmy +RUN mv /app/server/target/release/lemmy /app/lemmy + +# The output image +# FROM debian:stable-slim +# RUN apt-get -y update && apt-get install -y postgresql-client +# COPY --from=rust /app/server/target/release/lemmy /app/lemmy COPY --from=node /app/ui/dist /app/dist -RUN cargo build --release -RUN mv /app/server/target/release/lemmy /app/ EXPOSE 8536 diff --git a/ui/fuse.js b/ui/fuse.js index fe2c7664c..0fdf9a428 100644 --- a/ui/fuse.js +++ b/ui/fuse.js @@ -11,7 +11,7 @@ const transformInferno = require('ts-transform-inferno').default; const transformClasscat = require('ts-transform-classcat').default; let fuse, app; let isProduction = false; -var setVersion = require('./set_version.js').setVersion; +// var setVersion = require('./set_version.js').setVersion; Sparky.task('config', _ => { fuse = new FuseBox({ @@ -42,7 +42,7 @@ Sparky.task('config', _ => { }); app = fuse.bundle('app').instructions('>index.tsx'); }); -Sparky.task('version', _ => setVersion()); +// Sparky.task('version', _ => setVersion()); Sparky.task('clean', _ => Sparky.src('dist/').clean('dist/')); Sparky.task('env', _ => (isProduction = true)); Sparky.task('copy-assets', () => Sparky.src('assets/*.svg').dest('dist/')); diff --git a/ui/set_version.js b/ui/set_version.js old mode 100644 new mode 100755 index bfd640c25..218930852 --- a/ui/set_version.js +++ b/ui/set_version.js @@ -7,3 +7,5 @@ exports.setVersion = function() { let line = `export let version: string = "${revision}";`; fs.writeFileSync("./src/version.ts", line); } + +this.setVersion() diff --git a/ui/src/version.ts b/ui/src/version.ts index 3f710072f..c06ed5dd0 100644 --- a/ui/src/version.ts +++ b/ui/src/version.ts @@ -1 +1 @@ -export let version: string = "v0.0.2-0-gdae6651"; \ No newline at end of file +export let version: string = "v0.0.2-9-g8e5a5d1"; \ No newline at end of file