Files
FHC-Core/phpci.yml
T
2019-06-03 14:22:53 +02:00

112 lines
6.5 KiB
YAML

# Globally valid entries
build_settings:
ignore: # Ignores vendor and tests folders
- "vendor"
- "tests"
pgsql: # PostgreSQL connection parameters
host: "localhost;dbname=template1" # Connects to the template1 database to be able to drop database fhcomplete
user: "fhcomplete"
pass: "fhcomplete"
setup: # First!
pgsql: # Close previous connections to database -> drop database -> create database
- "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid() AND datname = 'fhcomplete';"
- "DROP DATABASE IF EXISTS fhcomplete;"
- "CREATE DATABASE fhcomplete;"
composer: # Run composer to install all the required 3rd party software
action: "install"
shell:
# Install addons
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Abrechnung.git %BUILD_PATH%/addons/abrechnung"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Asterisk.git %BUILD_PATH%/addons/asterisk"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Aufnahme.git %BUILD_PATH%/addons/aufnahme"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Bewerbung.git %BUILD_PATH%/addons/bewerbung"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-CaseTime.git %BUILD_PATH%/addons/casetime"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-LDAP.git %BUILD_PATH%/addons/ldap"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Lehrmittel.git %BUILD_PATH%/addons/lehrmittel"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-LV-Evaluierung.git %BUILD_PATH%/addons/lvevaluierung"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-LVInfo.git %BUILD_PATH%/addons/lvinfo"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Kompetenzen.git %BUILD_PATH%/addons/kompetenzen"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Moodle.git %BUILD_PATH%/addons/moodle"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Reports.git %BUILD_PATH%/addons/reports"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Studiengangsverwaltung.git %BUILD_PATH%/addons/studiengangsverwaltung"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Textbausteine.git %BUILD_PATH%/addons/textbausteine"
- "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-WaWi.git %BUILD_PATH%/addons/wawi"
# Copy addons configs
- "cp -R /var/www/configs/fhc/abrechnung/* %BUILD_PATH%/addons/abrechnung"
- "cp -R /var/www/configs/fhc/asterisk/* %BUILD_PATH%/addons/asterisk"
- "cp -R /var/www/configs/fhc/bewerbung/* %BUILD_PATH%/addons/bewerbung"
- "cp -R /var/www/configs/fhc/casetime/* %BUILD_PATH%/addons/casetime"
- "cp -R /var/www/configs/fhc/lehrmittel/* %BUILD_PATH%/addons/lehrmittel"
- "cp -R /var/www/configs/fhc/lvinfo/* %BUILD_PATH%/addons/lvinfo"
- "cp -R /var/www/configs/fhc/reports/* %BUILD_PATH%/addons/reports"
- "cp -R /var/www/configs/fhc/wawi/* %BUILD_PATH%/addons/wawi"
# Copy core configs and .htaccess
- "cp -R /var/www/configs/fhc/configs/* ./config"
- "cp /var/www/configs/fhc/configs/.htaccess ./cis/private/"
- "cp /var/www/configs/fhc/configs/.htaccess ./content"
- "cp /var/www/configs/fhc/configs/.htaccess ./rdf"
- "cp /var/www/configs/fhc/configs/.htaccess ./system"
- "cp /var/www/configs/fhc/configs/.htaccess ./vilesci"
# Create core directories
- "mkdir documents"
- "mkdir documents/csv_import"
- "mkdir documents/dms"
- "mkdir documents/import"
- "mkdir documents/benotungstool"
- "mkdir paabgabe"
# Copy codeigniter configs
- "mkdir ./application/config/development"
- "cp -R /var/www/configs/ci/* ./application/config/development"
# Clone extensions
- "git clone --quiet https://github.com/FH-Complete/FHC-Core-MobilityOnline.git /tmp/FHC-Core-MobilityOnline"
- "git clone --quiet https://github.com/FH-Complete/FHC-Core-Budget.git /tmp/FHC-Core-Budget"
- "git clone --quiet https://github.com/FH-Complete/FHC-Core-DSMS.git /tmp/FHC-Core-DSMS"
- "git clone --quiet https://github.com/FH-Complete/FHC-Core-Nextcloud.git /tmp/FHC-Core-Nextcloud"
# Create extensions archives
- "tar cfzP /tmp/FHC-Core-MobilityOnline.tgz /tmp/FHC-Core-MobilityOnline/"
- "tar cfzP /tmp/FHC-Core-Budget.tgz /tmp/FHC-Core-Budget/"
- "tar cfzP /tmp/FHC-Core-DSMS.tgz /tmp/FHC-Core-DSMS/"
- "tar cfzP /tmp/FHC-Core-Nextcloud.tgz /tmp/FHC-Core-Nextcloud/"
# Install extensions
#- "php index.ci.php system/extensions/CLI_Manager uploadExtension FHC-Core-MobilityOnline /tmp/FHC-Core-MobilityOnline.tgz"
#- "php index.ci.php system/extensions/CLI_Manager uploadExtension FHC-Core-Budget /tmp/FHC-Core-Budget.tgz"
#- "php index.ci.php system/extensions/CLI_Manager uploadExtension FHC-Core-DSMS /tmp/FHC-Core-DSMS.tgz"
#- "php index.ci.php system/extensions/CLI_Manager uploadExtension FHC-Core-Nextcloud /tmp/FHC-Core-Nextcloud.tgz"
# Remove temporary files
- "rm -fR /tmp/FHC-Core-MobilityOnline*"
- "rm -fR /tmp/FHC-Core-Budget*"
- "rm -fR /tmp/FHC-Core-DSMS*"
- "rm -fR /tmp/FHC-Core-Nextcloud*"
# Change files permissions
- "chmod -R 0770 *"
- "find . -type f -exec chmod 0644 {} \\;"
# Create a symlink to the current build folder
- "ln -s %BUILD_PATH% ../fhcomplete"
test: # Run tests
php_parallel_lint: # Lint
allow_failures: true
php_mess_detector: # Mess detector
allow_failures: true
php_cpd: # Copy/paste detector
allow_failures: true
php_code_sniffer: # Code sniffer
standard: "tests/codesniffer/FHComplete"
allow_failures: true
#codeception: # Codeception
# config: "tests/codeception/"
# path: "tests/codeception/_output/"
# allow_failures: true
failure: # On failure
email: # Send an email to warn the team
default_mailto_address: systementwicklung@technikum-wien.at
complete: # Last!
pgsql: # Close previous connections to database -> drop database
- "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid() AND datname = 'fhcomplete';"
- "DROP DATABASE IF EXISTS fhcomplete;"
shell: # Remove the previously created symlink
- "rm ../fhcomplete"