Git Product home page Git Product logo

deploymentmanager's Introduction

DeploymentManager

##OpenAPI Der DeploymentManager bietet eine OpenAPI-UI an. diese ist erreichbar unter

http://localhost:8080/deployment-manager/api/openapi-ui

Damit OpenAPI im Wildfly aktiviert wird, muss das module im Wildfly aktiviert werden. Siehe .build/openapi.cli ##Datasource

<datasource jndi-name="java:jboss/datasources/deployment-manager" pool-name="deployment-manager" enabled="true" use-java-context="true" statistics-enabled="${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}">
    <connection-url>jdbc:postgresql://localhost:5433/postgres</connection-url>
    <driver>postgresql</driver>
    <security>
        <user-name>docker</user-name>
        <password>docker</password>
    </security>
</datasource>

<drivers>
    <driver name="postgresql" module="org.postgresql">
        <driver-class>org.postgresql.Driver</driver-class>
    </driver>
</drivers>

Neues Tag erfragen ohne zu Speichern

Damit man beim starten der Pipeline eine Buildnummer bekommt, kann über nachfolgenden Rest-Endpoint die nächste Buildnummer (TAG) abgefragt werden

GET /deployment-manager/api/projects/{ident}/images?version={aktuelleVersion}

Response = 1.0.0-1

Neues Tag abfragen

stage('Push image to registry') {
    when {
        expression { return params.PUSH }
    }
    environment {
        DEPLOYMENT_MANAGER ="http://etw-docker-03.bvaetw.de:8088/deployment-manager/api"
        DEPLOYMENT_MANAGER_URL = "${env.DEPLOYMENT_MANAGER}/projects/${env.DEPLOYMENT_MANAGER_PROJECT}/images"
        DEPLOYMENT_MANAGER_PROJECT = "manager"
        IMAGE = "http://etw-docker-03.bvaetw.de/manager/manager"
        VERSION = sh( script: "mvn help:evaluate -Dexpression=project.version -q -DforceStdout",
                    returnStdout: true)
        COMMIT = sh( script: "git show -s --format=short",
                    returnStdout: true)        

        TAG =  sh ( script: "curl --header \"Content-Type: application/json\" \\\n" +
                "  --request POST \\\n" +
                "  --data '{\n" +
                "  \"user\": \"${env.USER}\",\n" +
                "  \"image\": \"${env.image}\",\n" +
                "  \"commit\": \"${env.COMMIT}\",\n" +
                "  \"version\":  \"${env.VERSION}\"\n" +
                "}' \\\n" +
                "  ${env.DEPLOYMENT_MANAGER_URL}",
                returnStdout: true )
    }
    steps {
       // Baut das docker Image
       echo "PUSH"
       }
    }
}

Flyway config

Datei im Root des Projekts flyway.properties

flyway.user=docker
flyway.password=docker
flyway.url=jdbc:postgresql://localhost:5433/postgres

deploymentmanager's People

Contributors

ukirsche avatar slevinl avatar

Watchers

Stephan Kaps avatar  avatar  avatar

Forkers

ukirsche

deploymentmanager's Issues

Projektname in der App anzeigen

Derzeit wird nur der letzte Teil des Images bei einer APP angezeigt. Wird aber ein Image mehrfach als unterschiedliche APP deployed, kann man keinen Unterschied mehr erkennen.
Daher sollte in der APP fee Projektname angezeigt werden. Vielleicht die entity App um das Attribut erweitern.

Deployen des Tags "latest" über den Jenkins

Wird im Jenkins die Pipeline manuell gestartet, ist es möglich als Tag "latest" anzugeben.
Dieses Tag wird dann beim ImageDeployed übergeben. Das Image mit dem Tag latest wird aber in der DB nicht gefunden.
Image wird nicht als deployed markiert

Wenn das Tag latest übergeben wird, soll die aktuellste Version als deployed markiert werden

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.