mirror of
https://github.com/YunoHost-Apps/terraforming-mars_ynh.git
synced 2024-09-03 20:36:05 +02:00
Merge pull request #5 from YunoHost-Apps/proper-archive
init ynh_setup_source
This commit is contained in:
commit
f7946763aa
6 changed files with 55 additions and 25 deletions
|
@ -7,7 +7,7 @@ After=network-online.target
|
||||||
Type=simple
|
Type=simple
|
||||||
User=__APP__
|
User=__APP__
|
||||||
Group=__APP__
|
Group=__APP__
|
||||||
WorkingDirectory=__INSTALL_DIR__/terraforming-mars
|
WorkingDirectory=__INSTALL_DIR__
|
||||||
EnvironmentFile=__INSTALL_DIR__/.env
|
EnvironmentFile=__INSTALL_DIR__/.env
|
||||||
Environment="__YNH_NODE_LOAD_PATH__"
|
Environment="__YNH_NODE_LOAD_PATH__"
|
||||||
Environment=NODE_ENV=production
|
Environment=NODE_ENV=production
|
||||||
|
|
|
@ -41,6 +41,14 @@ ram.runtime = "50M"
|
||||||
default = "visitors"
|
default = "visitors"
|
||||||
|
|
||||||
[resources]
|
[resources]
|
||||||
|
|
||||||
|
[resources.sources]
|
||||||
|
|
||||||
|
[resources.sources.main]
|
||||||
|
url = "https://codeload.github.com/terraforming-mars/terraforming-mars/tar.gz/78e5e5d0433e4d1632639ea7da1a1993672bd82a"
|
||||||
|
sha256 = "ad4e3107b42d61aac93546887f01714f6ef2d0ed84fb6f7c6f8178bf60264e1f"
|
||||||
|
in_subdir = true
|
||||||
|
autoupdate.strategy = "latest_github_commit"
|
||||||
|
|
||||||
[resources.system_user]
|
[resources.system_user]
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
# nodejs version
|
# nodejs version
|
||||||
nodejs_version=16
|
nodejs_version=16.13.2
|
||||||
|
|
||||||
# Terraforming-mars commit
|
# Terraforming-mars commit
|
||||||
TM_version="78e5e5d"
|
TM_version="78e5e5d"
|
||||||
|
|
|
@ -17,7 +17,19 @@ ynh_script_progression --message="Installing dependencies..." --weight=5
|
||||||
ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version
|
ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version
|
||||||
|
|
||||||
# Upgrade NPM
|
# Upgrade NPM
|
||||||
ynh_npm install --global npm@6.14.18
|
ynh_npm install --global npm@8.1.2
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Setting up source files..." --weight=1
|
||||||
|
|
||||||
|
# Download, check integrity, uncompress and patch the source from app.src
|
||||||
|
ynh_setup_source --dest_dir="$install_dir"
|
||||||
|
|
||||||
|
chmod 750 "$install_dir"
|
||||||
|
chmod -R o-rwx "$install_dir"
|
||||||
|
chown -R $app:www-data "$install_dir"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# NGINX CONFIGURATION
|
# NGINX CONFIGURATION
|
||||||
|
@ -34,20 +46,16 @@ ynh_add_nginx_config
|
||||||
# BUILD APP
|
# BUILD APP
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
cd $install_dir
|
pushd $install_dir
|
||||||
ynh_exec_warn_less git clone https://github.com/terraforming-mars/terraforming-mars.git
|
|
||||||
|
|
||||||
cd $install_dir/terraforming-mars
|
|
||||||
ynh_exec_warn_less git checkout $TM_version
|
|
||||||
|
|
||||||
pushd $install_dir/terraforming-mars
|
|
||||||
ynh_use_nodejs
|
ynh_use_nodejs
|
||||||
|
|
||||||
ynh_script_progression --message="npm install... This can be very long, be patient !" --weight=18
|
ynh_script_progression --message="npm install... This can be very long, be patient !" --weight=18
|
||||||
ynh_exec_warn_less env $ynh_node_load_PATH $ynh_npm install --network-timeout=100000
|
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH $ynh_npm ci --quiet --production --prefer-offline --network-timeout=100000
|
||||||
|
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH $ynh_npm install --save-dev @types/html-escaper
|
||||||
|
|
||||||
ynh_script_progression --message="npm run build... This can be very long, be patient !" --weight=25
|
ynh_script_progression --message="npm run build... This can be very long, be patient !" --weight=25
|
||||||
ynh_exec_warn_less env $ynh_node_load_PATH $ynh_npm run build
|
SOURCE_VERSION="$(cat $YNH_APP_BASEDIR/manifest.toml | toml_to_json | jq -r ".resources.sources.main.url" | awk -F/ '{ print $NF }')"
|
||||||
|
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH SOURCE_VERSION="$SOURCE_VERSION" $ynh_npm run build
|
||||||
popd
|
popd
|
||||||
|
|
||||||
chmod 750 "$install_dir"
|
chmod 750 "$install_dir"
|
||||||
|
|
|
@ -10,6 +10,15 @@
|
||||||
source ../settings/scripts/_common.sh
|
source ../settings/scripts/_common.sh
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# REINSTALL DEPENDENCIES
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Reinstalling dependencies..." --weight=10
|
||||||
|
|
||||||
|
ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version
|
||||||
|
|
||||||
|
ynh_npm install --global npm@8.1.2
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RESTORE THE APP MAIN DIR
|
# RESTORE THE APP MAIN DIR
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -21,6 +21,18 @@ ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version
|
||||||
# Upgrade NPM
|
# Upgrade NPM
|
||||||
ynh_npm install --global npm@6.14.18
|
ynh_npm install --global npm@6.14.18
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Setting up source files..." --weight=1
|
||||||
|
|
||||||
|
# Download, check integrity, uncompress and patch the source from app.src
|
||||||
|
ynh_setup_source --dest_dir="$install_dir" --full_replace=1
|
||||||
|
|
||||||
|
chmod 750 "$install_dir"
|
||||||
|
chmod -R o-rwx "$install_dir"
|
||||||
|
chown -R $app:www-data "$install_dir"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# STANDARD UPGRADE STEPS
|
# STANDARD UPGRADE STEPS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -31,26 +43,19 @@ ynh_script_progression --message="Stopping a systemd service..." --weight=1
|
||||||
ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log"
|
ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# "REBUILD" THE APP (DEPLOY NEW SOURCES, RERUN NPM BUILD...)
|
# BUILD APP
|
||||||
#=================================================
|
|
||||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
cd $install_dir
|
pushd $install_dir
|
||||||
ynh_secure_remove terraforming-mars
|
|
||||||
ynh_exec_warn_less git clone https://github.com/terraforming-mars/terraforming-mars.git
|
|
||||||
|
|
||||||
cd $install_dir/terraforming-mars
|
|
||||||
ynh_exec_warn_less git checkout $TM_version
|
|
||||||
|
|
||||||
pushd $install_dir/terraforming-mars
|
|
||||||
ynh_use_nodejs
|
ynh_use_nodejs
|
||||||
|
|
||||||
ynh_script_progression --message="npm install... This can be very long, be patient !" --weight=18
|
ynh_script_progression --message="npm install... This can be very long, be patient !" --weight=18
|
||||||
ynh_exec_warn_less env $ynh_node_load_PATH $ynh_npm install --network-timeout=100000
|
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH $ynh_npm ci --quiet --production --prefer-offline --network-timeout=100000
|
||||||
|
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH $ynh_npm install --save-dev @types/html-escaper
|
||||||
|
|
||||||
ynh_script_progression --message="npm run build... This can be very long, be patient !" --weight=25
|
ynh_script_progression --message="npm run build... This can be very long, be patient !" --weight=25
|
||||||
ynh_exec_warn_less env $ynh_node_load_PATH $ynh_npm run build
|
SOURCE_VERSION="$(cat $YNH_APP_BASEDIR/manifest.toml | toml_to_json | jq -r ".resources.sources.main.url" | awk -F/ '{ print $NF }')"
|
||||||
|
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH SOURCE_VERSION="$SOURCE_VERSION" $ynh_npm run build
|
||||||
popd
|
popd
|
||||||
|
|
||||||
chmod 750 "$install_dir"
|
chmod 750 "$install_dir"
|
||||||
|
|
Loading…
Reference in a new issue