@@ -22,6 +22,10 @@ struct Args {
2222 /// Environment to deploy to
2323 #[ arg( short, long, value_enum) ]
2424 env : Env ,
25+
26+ /// Clean build
27+ #[ arg( short, long, default_value_t = false ) ]
28+ clean : bool ,
2529}
2630
2731fn main ( ) {
@@ -32,17 +36,26 @@ fn main() {
3236 println ! ( "Ensuring docker is running ..." ) ;
3337 cli_run:: cli_run ( "docker" , vec ! [ "ps" ] ) ;
3438
35- println ! ( "Building ./web-server ..." ) ;
36- cli_run:: cli_run ( "npm" , vec ! [ "run" , "clean" ] ) ;
37- cli_run
:: cli_run ( "npm" , vec ! [ "run" , "bundle" , "[email protected] /web" ] ) ; 38- cli_run
:: cli_run ( "npm" , vec ! [ "run" , "pre-deploy" , "[email protected] /web" ] ) ; 39- cli_run
:: cli_run ( "npm" , vec ! [ "run" , "build" , "[email protected] /web-server" ] ) ; 39+ if args. clean {
40+ println ! ( "clean..." ) ;
41+ cli_run:: cli_run ( "npm" , vec ! [ "run" , "clean" ] ) ;
42+ }
43+
44+ println ! ( "Build..." ) ;
45+ cli_run:: cli_run ( "npm" , vec ! [ "run" , "build" ] ) ;
4046
41- println ! ( "Writing ./web-server deps into Dockerfile..." ) ;
47+ println ! ( "Preparing ./web-server ..." ) ;
48+ cli_run
:: cli_run ( "npm" , vec ! [ "run" , "bundle:alone" , "[email protected] /web" ] ) ; 49+ cli_run
:: cli_run ( "npm" , vec ! [ "run" , "pre-deploy" , "[email protected] /web" ] ) ; 4250 cli_run
:: cli_run ( "npm" , vec ! [ "run" , "prepare-dockerfile" , "[email protected] /web-server" ] ) ; 4351
44- println ! ( "Building docker image ..." ) ;
52+ println ! ( "Preparing ./api ..." ) ;
53+ cli_run
:: cli_run ( "npm" , vec ! [ "run" , "prepare-dockerfile" , "[email protected] /api" ] ) ; 54+
55+
4556 let env_str = format ! ( "{:?}" , env) . to_lowercase ( ) ;
57+
58+ println ! ( "Building ./web-server docker image ..." ) ;
4659 cli_run:: cli_run (
4760 "docker" ,
4861 vec ! [
@@ -56,6 +69,21 @@ fn main() {
5669 ] ,
5770 ) ;
5871
72+ println ! ( "Building ./api docker image ..." ) ;
73+ cli_run:: cli_run (
74+ "docker" ,
75+ vec ! [
76+ "buildx" ,
77+ "build" ,
78+ "-f" ,
79+ "api.Dockerfile" ,
80+ "." ,
81+ "-t" ,
82+ & format!( "ghcr.io/dzcode-io/api-dot-{}-dot-dzcode-dot-io-server:latest" , env_str) ,
83+ ] ,
84+ ) ;
85+
86+
5987 println ! ( "Logging in to GitHub Container Registry ..." ) ;
6088 let gh_token = std:: env:: var ( "DOCKER_REGISTRY_PASSWORD" )
6189 . expect ( "DOCKER_REGISTRY_PASSWORD environment variable not set" ) ;
@@ -76,6 +104,10 @@ fn main() {
76104 "docker" ,
77105 vec ! [ "push" , & format!( "ghcr.io/dzcode-io/{}-dot-dzcode-dot-io-server:latest" , env_str) ] ,
78106 ) ;
107+ cli_run:: cli_run (
108+ "docker" ,
109+ vec ! [ "push" , & format!( "ghcr.io/dzcode-io/api-dot-{}-dot-dzcode-dot-io-server:latest" , env_str) ] ,
110+ ) ;
79111
80112 println ! ( "Deploying to zcluster ..." ) ;
81113 cli_run:: cli_run (
0 commit comments