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
|
||||
User=__APP__
|
||||
Group=__APP__
|
||||
WorkingDirectory=__INSTALL_DIR__/terraforming-mars
|
||||
WorkingDirectory=__INSTALL_DIR__
|
||||
EnvironmentFile=__INSTALL_DIR__/.env
|
||||
Environment="__YNH_NODE_LOAD_PATH__"
|
||||
Environment=NODE_ENV=production
|
||||
|
|
|
@ -42,6 +42,14 @@ ram.runtime = "50M"
|
|||
|
||||
[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.install_dir]
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
#=================================================
|
||||
|
||||
# nodejs version
|
||||
nodejs_version=16
|
||||
nodejs_version=16.13.2
|
||||
|
||||
# Terraforming-mars commit
|
||||
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
|
||||
|
||||
# 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
|
||||
|
@ -34,20 +46,16 @@ ynh_add_nginx_config
|
|||
# BUILD APP
|
||||
#=================================================
|
||||
|
||||
cd $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
|
||||
pushd $install_dir
|
||||
ynh_use_nodejs
|
||||
|
||||
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_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
|
||||
|
||||
chmod 750 "$install_dir"
|
||||
|
|
|
@ -10,6 +10,15 @@
|
|||
source ../settings/scripts/_common.sh
|
||||
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
|
||||
#=================================================
|
||||
|
|
|
@ -21,6 +21,18 @@ ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version
|
|||
# Upgrade NPM
|
||||
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
|
||||
#=================================================
|
||||
|
@ -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"
|
||||
|
||||
#=================================================
|
||||
# "REBUILD" THE APP (DEPLOY NEW SOURCES, RERUN NPM BUILD...)
|
||||
#=================================================
|
||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||
# BUILD APP
|
||||
#=================================================
|
||||
|
||||
cd $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
|
||||
pushd $install_dir
|
||||
ynh_use_nodejs
|
||||
|
||||
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_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
|
||||
|
||||
chmod 750 "$install_dir"
|
||||
|
|
Loading…
Reference in a new issue