diff options
author | Dan Timoney <dtimoney@att.com> | 2017-08-09 13:37:32 -0400 |
---|---|---|
committer | Dan Timoney <dtimoney@att.com> | 2017-08-09 13:37:43 -0400 |
commit | 73be2117cb63d51b394835a39c9e2df3379d4f0e (patch) | |
tree | 8d5466956c01954088e8d387c5bd7f43385c5544 | |
parent | fd4218dd652098e368182728d684b4ae846a9ba7 (diff) |
Create base Ubuntu container
Create base docker container for Ubuntu 16.04 LTS with packages needed for CCSDK SLI
Issue-ID: CCSDK-27
Change-Id: I17a88fc2539f58ee6ced12ea64fbce45bc16a5ff
Signed-off-by: Dan Timoney <dtimoney@att.com>
-rwxr-xr-x | .gitignore | 44 | ||||
-rw-r--r-- | pom.xml | 32 | ||||
-rw-r--r-- | ubuntu/pom.xml | 133 | ||||
-rw-r--r-- | ubuntu/src/main/docker/Dockerfile | 15 |
4 files changed, 224 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100755 index 00000000..f9801b8c --- /dev/null +++ b/.gitignore @@ -0,0 +1,44 @@ +#####standard .git ignore entries##### + +## IDE Specific Files ## +org.eclipse.core.resources.prefs +.classpath +.project +.settings +.idea +.externalToolBuilders +.checkstyle +maven-eclipse.xml +workspace + +## Compilation Files ## +*.class +**/target +target +target-ide +MANIFEST.MF + +## Misc Ignores (OS specific etc) ## +bin/ +dist +*~ +*.ipr +*.iml +*.iws +classes +out/ +.DS_STORE +.metadata + +## antlr4 generated files ## +ExprGrammarBaseListener.java +ExprGrammarLexer.java +ExprGrammarListener.java +ExprGrammarParser.java +ExprGrammar.tokens +ExprGrammarLexer.tokens + +# BlackDuck generated file +sdnc-core_bdio.jsonld +blackDuckHubProjectName.txt +blackDuckHubProjectVersionName.txt diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..8c9e5eb8 --- /dev/null +++ b/pom.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <parent> + <groupId>org.onap.ccsdk.parent</groupId> + <artifactId>odlparent-boron-sr3</artifactId> + <version>0.0.1-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <packaging>pom</packaging> + <groupId>org.onap.ccsdk.distribution</groupId> + <artifactId>distribution-root</artifactId> + <version>0.0.1-SNAPSHOT</version> + + <name>Distribution</name> + <description>Creates distributuon bundles for CCSDK</description> + + <properties> + <application.name>distribution</application.name> + + <maven.build.timestamp.format>yyMMdd-HHmmss</maven.build.timestamp.format> + <build.number>${maven.build.timestamp}</build.number> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + </properties> + + <modules> + <module>ubuntu</module> + </modules> +</project> diff --git a/ubuntu/pom.xml b/ubuntu/pom.xml new file mode 100644 index 00000000..504d6736 --- /dev/null +++ b/ubuntu/pom.xml @@ -0,0 +1,133 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <parent> + <groupId>org.onap.ccsdk.distribution</groupId> + <artifactId>distribution-root</artifactId> + <version>0.0.1-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <packaging>pom</packaging> + <artifactId>distribution-ubuntu</artifactId> + <version>0.0.1-SNAPSHOT</version> + + <name>Distribution - ubuntu</name> + <description>Creates base ubuntu Docker container</description> + + <properties> + <image.name>onap/ccsdk-ubuntu-image</image.name> + <ccsdk.project.version>${project.version}</ccsdk.project.version> + </properties> + + + <build> + <plugins> + + <plugin> + <groupId>org.codehaus.groovy.maven</groupId> + <artifactId>gmaven-plugin</artifactId> + <executions> + <execution> + <phase>validate</phase> + <goals> + <goal>execute</goal> + </goals> + <configuration> + <source> + println project.properties['ccsdk.project.version']; + def versionArray; + if ( project.properties['ccsdk.project.version'] != null ) { + versionArray = + project.properties['ccsdk.project.version'].split('\\.'); + } + + if (project.properties['ccsdk.project.version'].endsWith("-SNAPSHOT")) { + project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest"; + } else { + project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest"; + } + + println 'New Tag for docker:' + + project.properties['project.docker.latesttag.version']; + </source> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>io.fabric8</groupId> + <artifactId>docker-maven-plugin</artifactId> + <version>0.16.5</version> + <inherited>false</inherited> + <configuration> + + <images> + <image> + <name>${image.name}</name> + <build> + <cleanup>try</cleanup> + <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir> + <dockerFile>${basedir}/target/docker-stage/Dockerfile</dockerFile> + <tags> + <tag>${project.version}</tag> + <tag>${project.version}-STAGING-${maven.build.timestamp}</tag> + <tag>${project.docker.latesttag.version}</tag> + </tags> + </build> + </image> + </images> + </configuration> + <executions> + <execution> + <id>generate-images</id> + <phase>generate-sources</phase> + <goals> + <goal>build</goal> + </goals> + </execution> + + <execution> + <id>push-images</id> + <phase>deploy</phase> + <goals> + <goal>build</goal> + <goal>push</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <version>2.6</version> + <executions> + <execution> + <id>copy-dockerfile</id> + <goals> + <goal>copy-resources</goal> + </goals><!-- here the phase you need --> + <phase>validate</phase> + <configuration> + <outputDirectory>${basedir}/target/docker-stage</outputDirectory> + <resources> + <resource> + <directory>src/main/docker</directory> + <includes> + <include>Dockerfile</include> + </includes> + <filtering>true</filtering> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + + </build> + <organization> + <name>openECOMP</name> + </organization> +</project> diff --git a/ubuntu/src/main/docker/Dockerfile b/ubuntu/src/main/docker/Dockerfile new file mode 100644 index 00000000..0066e761 --- /dev/null +++ b/ubuntu/src/main/docker/Dockerfile @@ -0,0 +1,15 @@ +# Base ubuntu with added packages needed for open ecomp +FROM ubuntu:16.04 +MAINTAINER CCSDK Team (onap-ccsdk@lists.onap.org) + +ARG HTTP_PROXY +ARG HTTPS_PROXY + +ENV HTTP_PROXY ${HTTP_PROXY} +ENV HTTPS_PROXY ${HTTPS_PROXY} + +RUN if [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi && \ + if [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi + +# Add tools needed for OpenDaylight +RUN apt-get update && apt-get install -y git openjdk-8-jdk maven mysql-client nodejs nodejs-legacy python-pip graphviz npm unzip |