Where we come from
This is one of the reasons, why it was possible to use standard services like travis-ci and Gitlab CI with their current container based approach to build these rather large and complex workspaces. Official docker containers for maven just did the job.GitLab CI example to build a CoreMedia 7 workspace:
image: maven:3-jdk-7
stages:
- build
build_modules:
stage: build
script:
- mvn install -s workspace-configuration/maven-settings.xml -B
artifacts: paths:
- packages/*/*/target/*.rpm
expire_in: 3 days
name: ${CI_BUILD_STAGE}-${CI_BUILD_REF_NAME}
cache:
paths:
- mvnrepo/
Where we go to
With the upcoming new CoreMedia platform for CMS and LiveContext this again changes a bit. And that bit is really that tiny, that I didn't want to lose the possibility to use the container based CI tools and go back to Jenkins (which is, what my customers provide me with).That being said a basic docker file is prepared very quickly to include
Java 8
Maven 3
PhantomJS
The missing part is the command line tool for Sencha ExtJS, the framework the CoreMedia studio heavily relies on. This tool comes with a graphical installer and cannot be installed script based (as far as I can see).
Since I already installed that tool locally, I decided to write a little preparation script, to convert the installation to a copy-able artifact, changing an absolute symbolic link to a relative one.
Prepare a copy-able sencha Cmd copy:
S=`which sencha`
DIR=`dirname $S`
(cd build ; cp -rdp $DIR .)
SD=`(cd build/Cmd ; find -type d -name "6\.[0-9]*")|sed -e 's/^.\///g'`
(cd build/Cmd ; rm sencha-$SD ; ln -s $SD/sencha sencha-$SD)
Keine Kommentare:
Kommentar veröffentlichen