tachtler:gitlab_centos_7_-_ci_cd
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
tachtler:gitlab_centos_7_-_ci_cd [2018/02/02 07:36] – [/var/opt/gitlab/gitlab-runner/scripts/homepage/war_test_homepage.sh] klaus | tachtler:gitlab_centos_7_-_ci_cd [2018/12/08 07:47] – [jar_build_footermilter.sh - Pipeline Ausgabe] klaus | ||
---|---|---|---|
Zeile 45: | Zeile 45: | ||
auskommt. | auskommt. | ||
- | ==== .gitlab-ci.yml | + | ==== .gitlab-ci.yml |
Nachfolgende Konfigurationsdatei für die [[https:// | Nachfolgende Konfigurationsdatei für die [[https:// | ||
Zeile 94: | Zeile 94: | ||
mit einem Editor erstellt und gespeichert: | mit einem Editor erstellt und gespeichert: | ||
* **'' | * **'' | ||
+ | |||
+ | Nachfolgend eine Bildschirmkopie, | ||
+ | |||
+ | {{: | ||
<code bash> | <code bash> | ||
Zeile 478: | Zeile 482: | ||
mit einem Editor erstellt und gespeichert: | mit einem Editor erstellt und gespeichert: | ||
* **'' | * **'' | ||
+ | |||
+ | Nachfolgend eine Bildschirmkopie, | ||
+ | |||
+ | {{: | ||
<code bash> | <code bash> | ||
Zeile 847: | Zeile 855: | ||
{{: | {{: | ||
- | ==== Directory Listing: Builds ==== | + | ==== Directory Listing: Builds |
Um die durch die Skripte erzeugten **Verzeichnisse und Dateien** bequem in einem **" | Um die durch die Skripte erzeugten **Verzeichnisse und Dateien** bequem in einem **" | ||
Zeile 865: | Zeile 873: | ||
<code ruby> | <code ruby> | ||
# Tachtler | # Tachtler | ||
- | nginx[' | + | nginx[' |
</ | </ | ||
Zeile 873: | Zeile 881: | ||
<code ruby> | <code ruby> | ||
# tail -n 6 / | # tail -n 6 / | ||
- | location ^~ /www { | ||
root / | root / | ||
autoindex on; | autoindex on; | ||
+ | autoindex_localtime on; | ||
} | } | ||
</ | </ | ||
Zeile 904: | Zeile 912: | ||
Ein Aufruf, hier als **Beispiel** mit nachfolgender URL: | Ein Aufruf, hier als **Beispiel** mit nachfolgender URL: | ||
* [[http:// | * [[http:// | ||
- | sollte nun in etwa nachfolgendes Ergebnis | + | sollte nun in etwa nachfolgendes Ergebnis |
{{: | {{: | ||
+ | |||
+ | ===== CI - JAR: Build *.jar ===== | ||
+ | |||
+ | Nachfolgendes Beispiel zeigt den Einsatz der [[https:// | ||
+ | * **Sourcen des Projekts " | ||
+ | * Einbindung der [[http:// | ||
+ | auskommt. | ||
+ | |||
+ | ==== .gitlab-ci.yml - JAR-Archiv ==== | ||
+ | |||
+ | Nachfolgende Konfigurationsdatei für die [[https:// | ||
+ | |||
+ | <code yaml> | ||
+ | stages: | ||
+ | - build | ||
+ | - test | ||
+ | .job_jar_build: | ||
+ | script: & | ||
+ | - " | ||
+ | .job_jar_test: | ||
+ | script: & | ||
+ | - " | ||
+ | job_jar_build: | ||
+ | stage: build | ||
+ | script: *jar_build | ||
+ | job_jar_test: | ||
+ | stage: test | ||
+ | script: *jar_test | ||
+ | </ | ||
+ | |||
+ | ==== jar_build_footermilter.sh ==== | ||
+ | |||
+ | Nachfolgendes Skript führt die eigentliche Erzeugung eines **Runnable** *.jar-Archivs durch. | ||
+ | |||
+ | Zur Vorbereitung der Ablage der [[https:// | ||
+ | < | ||
+ | # mkdir -p / | ||
+ | </ | ||
+ | |||
+ | Anschließend müssen noch die **Datei**- und **Besitz**rechte wie folgt angepasst werden, damit der [[https:// | ||
+ | < | ||
+ | # chmod 775 / | ||
+ | </ | ||
+ | und | ||
+ | < | ||
+ | # chown 775 gitlab-runner: | ||
+ | </ | ||
+ | |||
+ | Zur Überprüfung, | ||
+ | < | ||
+ | # ls -l -d / | ||
+ | drwxrwxr-x 4 gitlab-runner gitlab-runner 53 Feb 2 07:19 / | ||
+ | </ | ||
+ | |||
+ | Anschließend wird das Skript mit nachfolgendem Inhalt erzeugt **im Projekt**, z.B. unter | ||
+ | * ''/ | ||
+ | mit einem Editor erstellt und gespeichert: | ||
+ | * **'' | ||
+ | |||
+ | Nachfolgend eine Bildschirmkopie, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | ############################################################################## | ||
+ | # Script-Name : jar_build_footermilter.sh | ||
+ | # Description : Script to build a runnable jar application file. # | ||
+ | # # | ||
+ | # # | ||
+ | # # | ||
+ | # # | ||
+ | # Last update : 07.12.2018 | ||
+ | # Version | ||
+ | # # | ||
+ | # Author | ||
+ | # DokuWiki | ||
+ | # Homepage | ||
+ | # # | ||
+ | # +----------------------------------------------------------------------+ | ||
+ | # | This program is free software; you can redistribute it and/or modify | # | ||
+ | # | it under the terms of the GNU General Public License as published by | # | ||
+ | # | the Free Software Foundation; either version 2 of the License, or | # | ||
+ | # | (at your option) any later version. | ||
+ | # +----------------------------------------------------------------------+ | ||
+ | # # | ||
+ | # Copyright (c) 2018 by Klaus Tachtler. | ||
+ | # # | ||
+ | ############################################################################## | ||
+ | |||
+ | ############################################################################## | ||
+ | # H I S T O R Y # | ||
+ | ############################################################################## | ||
+ | # -------------------------------------------------------------------------- # | ||
+ | # Version | ||
+ | # Description : < | ||
+ | # -------------------------------------------------------------------------- # | ||
+ | # Version | ||
+ | # Description : < | ||
+ | # -------------------------------------------------------------------------- # | ||
+ | # Version | ||
+ | # Description : < | ||
+ | # -------------------------------------------------------------------------- # | ||
+ | ############################################################################# | ||
+ | |||
+ | ############################################################################## | ||
+ | # >>> | ||
+ | ############################################################################## | ||
+ | |||
+ | # CUSTOM - Script-Name. | ||
+ | SCRIPT_NAME=' | ||
+ | |||
+ | # CUSTOM - Build-Environment settings. | ||
+ | JAVAC_PATH=' | ||
+ | BUILD_PATH=' | ||
+ | CUSTOM_DIR=${CI_PROJECT_DIR} | ||
+ | SOURCE_DIR='/ | ||
+ | LIBAPP_DIR='/ | ||
+ | TARGET_DIR='/ | ||
+ | TARGET_JAR=' | ||
+ | |||
+ | # CUSTOM - Mail-Recipient. | ||
+ | MAIL_RECIPIENT=' | ||
+ | |||
+ | # CUSTOM - Status-Mail [Y|N]. | ||
+ | MAIL_STATUS=' | ||
+ | |||
+ | ############################################################################## | ||
+ | # >>> | ||
+ | ############################################################################## | ||
+ | |||
+ | # Variables. | ||
+ | JAVAC_COMMAND=`command -v javac` | ||
+ | JAR_COMMAND=`command -v jar` | ||
+ | FIND_COMMAND=`command -v find` | ||
+ | TOUCH_COMMAND=`command -v touch` | ||
+ | CP_COMMAND=`command -v cp` | ||
+ | RM_COMMAND=`command -v rm` | ||
+ | CAT_COMMAND=`command -v cat` | ||
+ | DATE_COMMAND=`command -v date` | ||
+ | MKDIR_COMMAND=`command -v mkdir` | ||
+ | PROG_SENDMAIL=`command -v sendmail` | ||
+ | FILE_LOCK='/ | ||
+ | FILE_LOG=$TARGET_DIR$SCRIPT_NAME' | ||
+ | FILE_LAST_LOG='/ | ||
+ | FILE_MAIL='/ | ||
+ | VAR_HOSTNAME=`uname -n` | ||
+ | VAR_SENDER=' | ||
+ | VAR_EMAILDATE=`$DATE_COMMAND '+%a, %d %b %Y %H:%M:%S (%Z)'` | ||
+ | |||
+ | # Functions. | ||
+ | function log() { | ||
+ | echo $1 | ||
+ | echo `$DATE_COMMAND ' | ||
+ | } | ||
+ | |||
+ | function retval() { | ||
+ | if [ " | ||
+ | case " | ||
+ | *) | ||
+ | log " | ||
+ | ;; | ||
+ | esac | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | function movelog() { | ||
+ | $CAT_COMMAND $FILE_LAST_LOG >> $FILE_LOG | ||
+ | $RM_COMMAND -f $FILE_LAST_LOG | ||
+ | $RM_COMMAND -f $FILE_LOCK | ||
+ | } | ||
+ | |||
+ | function sendmail() { | ||
+ | case " | ||
+ | ' | ||
+ | MAIL_SUBJECT=' | ||
+ | ;; | ||
+ | *) | ||
+ | MAIL_SUBJECT=' | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | $CAT_COMMAND << | ||
+ | Subject: $MAIL_SUBJECT | ||
+ | Date: $VAR_EMAILDATE | ||
+ | From: $VAR_SENDER | ||
+ | To: $MAIL_RECIPIENT | ||
+ | |||
+ | |||
+ | $CAT_COMMAND $FILE_LAST_LOG >> $FILE_MAIL | ||
+ | |||
+ | $PROG_SENDMAIL -f $VAR_SENDER -t $MAIL_RECIPIENT < $FILE_MAIL | ||
+ | |||
+ | $RM_COMMAND -f $FILE_MAIL | ||
+ | |||
+ | } | ||
+ | |||
+ | # Main. | ||
+ | log "" | ||
+ | log " | ||
+ | log "| Start build script to build a web application war file by hand. |" | ||
+ | log " | ||
+ | log "" | ||
+ | log "Run script with following parameter:" | ||
+ | log "" | ||
+ | log " | ||
+ | log " | ||
+ | log " | ||
+ | log " | ||
+ | log " | ||
+ | log " | ||
+ | log " | ||
+ | log "" | ||
+ | log " | ||
+ | log " | ||
+ | log "" | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 11 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 12 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 13 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 14 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 15 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 16 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 17 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 18 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 19 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 20 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if LOCK file NOT exist. | ||
+ | if [ ! -e " | ||
+ | log "Check if script is NOT already runnig .........................[ | ||
+ | |||
+ | $TOUCH_COMMAND $FILE_LOCK | ||
+ | else | ||
+ | log "Check if script is NOT already runnig .........................[FAILED]" | ||
+ | log "" | ||
+ | log " | ||
+ | log "" | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 20 | ||
+ | fi | ||
+ | |||
+ | # Start build process | ||
+ | log "" | ||
+ | log " | ||
+ | log "| Run build process ............................................. |" | ||
+ | log " | ||
+ | log "" | ||
+ | |||
+ | # Step 01: Make target directory. | ||
+ | # Check if TARGET_DIR exists. If yes delete it ande make it again. If no make it. | ||
+ | if [ ! -d " | ||
+ | log "Check if TARGET_DIR exists.................................[FAILED]" | ||
+ | $MKDIR_COMMAND -p $TARGET_DIR | ||
+ | log " | ||
+ | else | ||
+ | log "Check if TARGET_DIR exists.................................[ | ||
+ | $RM_COMMAND -rf $TARGET_DIR | ||
+ | log " | ||
+ | $MKDIR_COMMAND -p $TARGET_DIR | ||
+ | log " | ||
+ | fi | ||
+ | |||
+ | # Step 02: Change into target directory. | ||
+ | log " | ||
+ | cd $TARGET_DIR | ||
+ | |||
+ | # Step 03: Copy source directorys and files to target directory. | ||
+ | log "Copy SOURCE_DIR to TARGET_DIR .............................[ | ||
+ | $CP_COMMAND -ar $CUSTOM_DIR/ | ||
+ | |||
+ | # Step 04: Copy libapp directorys and files to target directory. | ||
+ | log "Copy LIBAPP_DIR to TARGET_DIR .............................[ | ||
+ | $CP_COMMAND -ar $CUSTOM_DIR/ | ||
+ | |||
+ | # Step 05: Compile the java files to class files. | ||
+ | log " | ||
+ | $JAVAC_COMMAND -g:none -target 1.8 -cp $JAVAC_PATH | ||
+ | |||
+ | # Step 06: Make jar file. | ||
+ | log "Make *.jar file from TARGET_DIR ...........................[ | ||
+ | cd $TARGET_DIR | ||
+ | $JAR_COMMAND cvfm $TARGET_JAR $BUILD_PATH | ||
+ | |||
+ | # Delete LOCK file. | ||
+ | if [ " | ||
+ | retval $? | ||
+ | log "" | ||
+ | $RM_COMMAND -f $FILE_LOCK | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 99 | ||
+ | else | ||
+ | log "" | ||
+ | log " | ||
+ | log "| End build process ............................................. |" | ||
+ | log " | ||
+ | log "" | ||
+ | fi | ||
+ | |||
+ | # Finish syncing. | ||
+ | log " | ||
+ | log "| Finish......................................................... |" | ||
+ | log " | ||
+ | log "" | ||
+ | |||
+ | # Status e-mail. | ||
+ | if [ $MAIL_STATUS = ' | ||
+ | sendmail STATUS | ||
+ | fi | ||
+ | # Move temporary log to permanent log | ||
+ | movelog | ||
+ | |||
+ | exit 0 | ||
+ | </ | ||
+ | |||
+ | Eine Besonderheit stellt die Verwendung einer **Umgebungsvariable** welche von [[https:// | ||
+ | |||
+ | Weitere Informationen können unter nachfolgenden externen Link angerufen werden: | ||
+ | * [[https:// | ||
+ | |||
+ | ==== jar_build_footermilter.sh - Pipeline Ausgabe ==== | ||
+ | |||
+ | Eine Ausgabe in etwa wie nachfolgende sollte erscheinen, wenn der **" | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== jar_test_footermilter.sh ==== | ||
+ | |||
+ | Nachfolgendes Skript führt **einen Aufruf-Tests** mit dem *.jar-Archiv durch. | ||
+ | |||
+ | Zur Vorbereitung der Ablage der [[https:// | ||
+ | < | ||
+ | # mkdir -p / | ||
+ | </ | ||
+ | |||
+ | Anschließend müssen noch die **Datei**- und **Besitz**rechte wie folgt angepasst werden, damit der [[https:// | ||
+ | < | ||
+ | # chmod 775 / | ||
+ | </ | ||
+ | und | ||
+ | < | ||
+ | # chown 775 gitlab-runner: | ||
+ | </ | ||
+ | |||
+ | Zur Überprüfung, | ||
+ | < | ||
+ | # ls -l -d / | ||
+ | drwxrwxr-x 4 gitlab-runner gitlab-runner 53 Feb 2 07:19 / | ||
+ | </ | ||
+ | |||
+ | Anschließend wird das Skript mit nachfolgendem Inhalt erzeugt **im Projekt**, z.B. unter | ||
+ | * ''/ | ||
+ | mit einem Editor erstellt und gespeichert: | ||
+ | * **'' | ||
+ | |||
+ | Nachfolgend eine Bildschirmkopie, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | ############################################################################## | ||
+ | # Script-Name : jar_test_footermilter.sh | ||
+ | # Description : Script to test a web application java classes with. # | ||
+ | # # | ||
+ | # # | ||
+ | # # | ||
+ | # # | ||
+ | # Last update : 07.12.2018 | ||
+ | # Version | ||
+ | # # | ||
+ | # Author | ||
+ | # DokuWiki | ||
+ | # Homepage | ||
+ | # # | ||
+ | # +----------------------------------------------------------------------+ | ||
+ | # | This program is free software; you can redistribute it and/or modify | # | ||
+ | # | it under the terms of the GNU General Public License as published by | # | ||
+ | # | the Free Software Foundation; either version 2 of the License, or | # | ||
+ | # | (at your option) any later version. | ||
+ | # +----------------------------------------------------------------------+ | ||
+ | # # | ||
+ | # Copyright (c) 2018 by Klaus Tachtler. | ||
+ | # # | ||
+ | ############################################################################## | ||
+ | |||
+ | ############################################################################## | ||
+ | # H I S T O R Y # | ||
+ | ############################################################################## | ||
+ | # -------------------------------------------------------------------------- # | ||
+ | # Version | ||
+ | # Description : < | ||
+ | # -------------------------------------------------------------------------- # | ||
+ | # Version | ||
+ | # Description : < | ||
+ | # -------------------------------------------------------------------------- # | ||
+ | # Version | ||
+ | # Description : < | ||
+ | # -------------------------------------------------------------------------- # | ||
+ | ############################################################################# | ||
+ | |||
+ | ############################################################################## | ||
+ | # >>> | ||
+ | ############################################################################## | ||
+ | |||
+ | # CUSTOM - Script-Name. | ||
+ | SCRIPT_NAME=' | ||
+ | |||
+ | # CUSTOM - Build-Environment settings. | ||
+ | CUSTOM_DIR=${CI_PROJECT_DIR} | ||
+ | JARAPP_DIR='/ | ||
+ | TARGET_DIR='/ | ||
+ | TARGET_JAR=' | ||
+ | |||
+ | # CUSTOM - Mail-Recipient. | ||
+ | MAIL_RECIPIENT=' | ||
+ | |||
+ | # CUSTOM - Status-Mail [Y|N]. | ||
+ | MAIL_STATUS=' | ||
+ | |||
+ | ############################################################################## | ||
+ | # >>> | ||
+ | ############################################################################## | ||
+ | |||
+ | # Variables. | ||
+ | JAVAC_COMMAND=`command -v javac` | ||
+ | JAVA_COMMAND=`command -v java` | ||
+ | FIND_COMMAND=`command -v find` | ||
+ | TOUCH_COMMAND=`command -v touch` | ||
+ | CP_COMMAND=`command -v cp` | ||
+ | RM_COMMAND=`command -v rm` | ||
+ | CAT_COMMAND=`command -v cat` | ||
+ | DATE_COMMAND=`command -v date` | ||
+ | MKDIR_COMMAND=`command -v mkdir` | ||
+ | PROG_SENDMAIL=`command -v sendmail` | ||
+ | FILE_LOCK='/ | ||
+ | FILE_LOG=$TARGET_DIR$SCRIPT_NAME' | ||
+ | FILE_LAST_LOG='/ | ||
+ | FILE_MAIL='/ | ||
+ | VAR_HOSTNAME=`uname -n` | ||
+ | VAR_SENDER=' | ||
+ | VAR_EMAILDATE=`$DATE_COMMAND '+%a, %d %b %Y %H:%M:%S (%Z)'` | ||
+ | |||
+ | # Functions. | ||
+ | function log() { | ||
+ | echo $1 | ||
+ | echo `$DATE_COMMAND ' | ||
+ | } | ||
+ | |||
+ | function retval() { | ||
+ | if [ " | ||
+ | case " | ||
+ | *) | ||
+ | log " | ||
+ | ;; | ||
+ | esac | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | function movelog() { | ||
+ | $CAT_COMMAND $FILE_LAST_LOG >> $FILE_LOG | ||
+ | $RM_COMMAND -f $FILE_LAST_LOG | ||
+ | $RM_COMMAND -f $FILE_LOCK | ||
+ | } | ||
+ | |||
+ | function sendmail() { | ||
+ | case " | ||
+ | ' | ||
+ | MAIL_SUBJECT=' | ||
+ | ;; | ||
+ | *) | ||
+ | MAIL_SUBJECT=' | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | $CAT_COMMAND << | ||
+ | Subject: $MAIL_SUBJECT | ||
+ | Date: $VAR_EMAILDATE | ||
+ | From: $VAR_SENDER | ||
+ | To: $MAIL_RECIPIENT | ||
+ | |||
+ | |||
+ | $CAT_COMMAND $FILE_LAST_LOG >> $FILE_MAIL | ||
+ | |||
+ | $PROG_SENDMAIL -f $VAR_SENDER -t $MAIL_RECIPIENT < $FILE_MAIL | ||
+ | |||
+ | $RM_COMMAND -f $FILE_MAIL | ||
+ | |||
+ | } | ||
+ | |||
+ | # Main. | ||
+ | log "" | ||
+ | log " | ||
+ | log "| Start test script to run junit web tests on commandline by hand.|" | ||
+ | log " | ||
+ | log "" | ||
+ | log "Run script with following parameter:" | ||
+ | log "" | ||
+ | log " | ||
+ | log " | ||
+ | log " | ||
+ | log " | ||
+ | log "" | ||
+ | log " | ||
+ | log " | ||
+ | log "" | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 11 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 12 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 13 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 14 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 15 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 16 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 17 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 18 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 19 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if command (file) NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | log "Check if command ' | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 20 | ||
+ | else | ||
+ | log "Check if command ' | ||
+ | fi | ||
+ | |||
+ | # Check if LOCK file NOT exist. | ||
+ | if [ ! -e " | ||
+ | log "Check if script is NOT already runnig .........................[ | ||
+ | |||
+ | $TOUCH_COMMAND $FILE_LOCK | ||
+ | else | ||
+ | log "Check if script is NOT already runnig .........................[FAILED]" | ||
+ | log "" | ||
+ | log " | ||
+ | log "" | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 20 | ||
+ | fi | ||
+ | |||
+ | # Start build process | ||
+ | log "" | ||
+ | log " | ||
+ | log "| Run tests process ............................................. |" | ||
+ | log " | ||
+ | log "" | ||
+ | |||
+ | # Step 01: Make target directory. | ||
+ | # Check if TARGET_DIR exists. If yes delete it ande make it again. If no make it. | ||
+ | if [ ! -d " | ||
+ | log "Check if TARGET_DIR exists.................................[FAILED]" | ||
+ | $MKDIR_COMMAND -p $TARGET_DIR | ||
+ | log " | ||
+ | else | ||
+ | log "Check if TARGET_DIR exists.................................[ | ||
+ | $RM_COMMAND -rf $TARGET_DIR | ||
+ | log " | ||
+ | $MKDIR_COMMAND -p $TARGET_DIR | ||
+ | log " | ||
+ | fi | ||
+ | |||
+ | # Step 02: Change into target directory. | ||
+ | log " | ||
+ | cd $TARGET_DIR | ||
+ | |||
+ | # Step 03: Copy jarapp directorys and files to target directory. | ||
+ | log "Copy JARAPP_DIR to TARGET_DIR .............................[ | ||
+ | $CP_COMMAND -ar $JARAPP_DIR/ | ||
+ | |||
+ | # Step 04: Test the TARGET_JAR. | ||
+ | log "Test the TARGET_JAR .......................................[ | ||
+ | $JAVA_COMMAND -jar $TARGET_JAR -h > jartest.result | ||
+ | |||
+ | # Delete LOCK file. | ||
+ | if [ " | ||
+ | retval $? | ||
+ | log "" | ||
+ | $RM_COMMAND -f $FILE_LOCK | ||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit 99 | ||
+ | else | ||
+ | log "" | ||
+ | log " | ||
+ | log "| End tests process ............................................. |" | ||
+ | log " | ||
+ | log "" | ||
+ | fi | ||
+ | |||
+ | # Finish syncing. | ||
+ | log " | ||
+ | log "| Finish......................................................... |" | ||
+ | log " | ||
+ | log "" | ||
+ | |||
+ | # Status e-mail. | ||
+ | if [ $MAIL_STATUS = ' | ||
+ | sendmail STATUS | ||
+ | fi | ||
+ | |||
+ | # Check the result of Failures. | ||
+ | $CAT_COMMAND $TARGET_DIR/ | ||
+ | if grep -Fxqi Exception $TARGET_DIR/ | ||
+ | then | ||
+ | log "Check the result of failures ..............................[FOUND!]" | ||
+ | log "" | ||
+ | # Move temporary log to permanent log | ||
+ | movelog | ||
+ | exit 66 | ||
+ | else | ||
+ | log "Check the result of failures ..............................[ | ||
+ | log "" | ||
+ | movelog | ||
+ | fi | ||
+ | |||
+ | exit 0 | ||
+ | </ | ||
+ | |||
+ | Eine Besonderheit stellt die Verwendung einer **Umgebungsvariable** welche von [[https:// | ||
+ | |||
+ | Weitere Informationen können unter nachfolgenden externen Link angerufen werden: | ||
+ | * [[https:// | ||
+ | |||
+ | ==== jar_test_footermilter.sh - Pipeline Ausgabe ==== | ||
+ | |||
+ | Eine Ausgabe in etwa wie nachfolgende sollte erscheinen, wenn der **" | ||
+ | |||
+ | FIXME - Projekt - CI /CD - Jobs - job_jar_test_footermilter | ||
+ | |||
+ | ==== Directory Listing: Builds - JAR-Archiv ==== | ||
+ | |||
+ | Um die durch die Skripte erzeugten **Verzeichnisse und Dateien** bequem in einem **" | ||
+ | |||
+ | Siehe hierzu auch nachfolgende Dokumentation: | ||
+ | |||
+ | ^ Beschreibung | ||
+ | | Inserting custom NGINX settings into the GitLab server block | [[https:// | ||
+ | |||
+ | Nachfolgende Ergänzungen sind in der Konfigurationsdatei der [[https:// | ||
+ | * **''/ | ||
+ | durchzuführen. | ||
+ | |||
+ | :!: **HINWEIS** - **Um die richtige Stelle innerhalb der Konfigurationsdatei zu finden, kann nach '' | ||
+ | |||
+ | (**Nur relevanter Ausschnitt**) | ||
+ | <code ruby> | ||
+ | # Tachtler | ||
+ | nginx[' | ||
+ | </ | ||
+ | |||
+ | Diese Konfiguration erzeugt **__nach__ einer Neukonfiguration** von [[https:// | ||
+ | * ''/ | ||
+ | welche mit nachfolgendem Befehl ausgegeben werden können: | ||
+ | <code ruby> | ||
+ | # tail -n 6 / | ||
+ | root / | ||
+ | autoindex on; | ||
+ | autoindex_localtime on; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Abschließend ist eine **Neukonfiguration** der [[https:// | ||
+ | < | ||
+ | # gitlab-ctl reconfigure | ||
+ | Starting Chef Client, version 12.12.15 | ||
+ | resolving cookbooks for run list: [" | ||
+ | Synchronizing Cookbooks: | ||
+ | - mattermost (0.1.0) | ||
+ | - postgresql (0.1.0) | ||
+ | - gitaly (0.1.0) | ||
+ | - package (0.1.0) | ||
+ | - consul (0.0.0) | ||
+ | - registry (0.1.0) | ||
+ | - gitlab (0.0.1) | ||
+ | - runit (0.14.2) | ||
+ | Installing Cookbook Gems: | ||
+ | Compiling Cookbooks... | ||
+ | ... | ||
+ | ... | ||
+ | ... | ||
+ | Chef Client finished, 2/505 resources updated in 19 seconds | ||
+ | gitlab Reconfigured! | ||
+ | </ | ||
+ | |||
+ | Ein Aufruf, hier als **Beispiel** mit nachfolgender URL: | ||
+ | * [[http:// | ||
+ | sollte nun in etwa nachfolgendes Ergebnis zurück liefern: | ||
+ | |||
+ | {{: | ||
tachtler/gitlab_centos_7_-_ci_cd.txt · Zuletzt geändert: 2018/12/08 07:48 von klaus