Instalace PMC FE

PMC FE je adresář s html/js a dalšímy soubory. K jeho provozování je potřeba web server. V tomto manuálu je jako web server použit apache2 httpd web server (viz Instalace reverse proxy. Správa souborů a nasazení nových verzí se provádí přes aplikaci jenkins.

Instalace npm

info

npm se instaluje pouze kvůli build procesu. Není potřeba k provozu pmc fe.

sudo apt update && sudo apt install npm
Vytvoření adresářové struktury
mkdir -p /opt/pmc-fe/backup_files
mkdir /var/www/html/pmc
Vytvoření .htaccess souboru

.htaccess soubor níže způsobí, že všechny requesty do kořenového adresáře budou přesměrovány na pmc.

vim /var/www/html/.htaccess
/var/www/html/.htaccess
<IfModule mod_rewrite.c>

  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /pmc/ [L]

</IfModule>
<IfModule mod_headers.c>
  # Do not cache sw.js, required for offline-first updates.
  <FilesMatch "sw\.js$">
    Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
    Header set Pragma "no-cache"
  </FilesMatch>
</IfModule>
Vytvoření backup script pro jenkinse

script backup_and_cp_pmc-fe.sh Vytvoří lokální zálohu pmc fe. V případě, že bude s novým buildem problém, je možné se k této záloze vrátit.

/opt/pmc-fe/backup_and_cp_pmc-fe.sh
echo "spusten backup files script"
TIMEMARK=`date +%Y%m%d-%H%M%S`

mkdir /opt/pmc-fe/backup_files/${TIMEMARK} || echo "error making backup directory"
mv /var/www/html/pmc/index.html /var/www/html/pmc/favicon.ico /var/www/html/pmc/*.js /var/www/html/pmc/*.json /var/www/html/pmc/static /opt/pmc-fe/backup_files/${TIMEMARK}/ || echo "error backing up files"

cp -rf /var/lib/jenkins/workspace/prod_pmc-fe/build/*.js /var/lib/jenkins/workspace/prod_pmc-fe/build/*.json /var/lib/jenkins/workspace/prod_pmc-fe/build/index.html /var/lib/jenkins/workspace/prod_pmc-fe/build/robots.txt /var/lib/jenkins/workspace/prod_pmc-fe/build/static /var/lib/jenkins/workspace/prod_pmc-fe/build/js /var/lib/jenkins/workspace/prod_pmc-fe/build/sound  /var/www/html/pmc/

cp -f /var/lib/jenkins/workspace/prod_pmc-fe/public/favicon-gc.png /var/www/html/pmc/favicon.png
Nastavení oprávnění
sudo chown -R pmc:pmc /var/www/html/pmc
sudo find /var/www/html/pmc -type d -exec chmod 775 {} \;
sudo find /var/www/html/pmc -type f -exec chmod 664 {} \;
sudo chown -R pmc:pmc /opt/pmc-fe
sudo find /opt/pmc-fe/ -type d -exec chmod 775 {} \;
sudo find /opt/pmc-fe/ -type f -exec chmod 664 {} \;
sudo chmod +x /opt/pmc-fe/*.sh