Giter VIP home page Giter VIP logo

architect's People

Contributors

anderius avatar arevatte avatar bendikp avatar bj0rn avatar bjartek avatar furode avatar k-fl avatar k85975 avatar kristofferchr avatar laukus avatar nixx avatar nostra avatar oyvinder avatar runeofferdal avatar sasoria avatar stromland avatar tormog avatar welcor avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

architect's Issues

Retag a temporary release

After a release has been built as a temp release #2 and the testing is OK we need to retag it as if it was a propper release.

All the avilable information on what to tag should be present in the already built temporary image.

Read in required env vars in a struct

There are several ENV vars set in the BC or provided manually when invoking the build that has to be processed. This task reads them into an internal structure.

Generate start script

Each leveransepakke has a file metadata/openshift.json The java block of this is used to make a java start script. The following fields are relevant

  • Generate classpath $cp

java $JVM_OPTS $JAVA_PROPERTIES_ARGS -cp "$cp" $JAVA_DEBUG_ARGS -javaagent:$JOLOKIA_PATH=host=0.0.0.0,port=8778,protocol=https $JAVA_OPTS $MAIN_CLASS $APPLICATION_ARGS

The fields with \ infront of the $ are set runtime now build time.

The start script should do the following

  • if SPLUNK_STANZA is set generate splunk stanza
  • load aurora config
  • java command from above.

The rest of the old start script should be moved to wingnut.

Tag a SNAPSHOT release

After a docker image is build if the VERSION parameter contains SNAPSHOT we should not push standard tags.

It should find the buildnumber from Nexus and use part of it for versioning. According to the following sed
"s/$ARTIFACT_ID-//g;s/-Leveransepakke.zip//g"

GIven that the version is feature/123-SNAPSHOT we should push the following tags.

  • feature/123-SNAPSHOT
  • SNAPSHOT-<BUILDNUMBER_FROM_NEXUS>

Generate dockerfile

Read in the docker block from metadata/openshift.json file in the Leveransepakke.

MAINTAINER and LABELS can be set here in the docker block.

java.readinessUrl should be set as READINESS_CHECK_URL as an ENV in the dockerfile
cat << EOF > ${DOCKER_FILE}
FROM ${DOCKER_BASE}

${MAINTAINER}
${LABELS}

COPY ./app /u01
RUN chmod -R 777 /u01/

ENV $ENV
${READINESS_ENV}

CMD ["bin/run"]
EOF

ENV is here a string of aditional ENV Vars. They contains

  • AURORA_VERSION
  • APP_VERSION
  • SNAPSHOT_TAGS
  • PUSH_EXTRA_TAGS

Tag an temporary release

When doing a systemtest of a release we want to deploy the application under test to a namespace in our OpenShift cluster. In order to do this we need to build it like a normal application but only tag it as a temporary release.

Fetch leveransepakke from Nexus

Fetch a leveransepakke from Nexus. Read in the NEXUS_URL_PATTERN env variable and replace in GAV parameters. Download to temporary folder and unzip.

The name of the zip file is also used to extract the buildNumber of the release. According to the following sed expression "s/$ARTIFACT_ID-//g;s/-Leveransepakke.zip//g"

Infer the actual version of a base image

When we build a relase part of the complete version is the actual version of the base image. However when we provide the information on what base image to use we are free to use any of its tags.

In order to infer the actual release read in the environment variable BASE_IMAGE_VERSION from the base images manifest.

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.