You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2016/02/10 10:21:00 UTC
[5/7] ignite git commit: IGNITE-843 Fixed docker.
IGNITE-843 Fixed docker.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f983f421
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f983f421
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f983f421
Branch: refs/heads/ignite-843-rc3
Commit: f983f4210ac638ec2debdc76410ab6a67d268a82
Parents: a405009
Author: Andrey <an...@gridgain.com>
Authored: Wed Feb 10 15:17:31 2016 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Wed Feb 10 15:17:31 2016 +0700
----------------------------------------------------------------------
.../configuration/summary/summary.controller.js | 2 ++
.../js/helpers/generator/generator-docker.js | 34 +++++++++++---------
.../main/js/helpers/generator/generator-pom.js | 21 +++++++++++-
3 files changed, 40 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/f983f421/modules/control-center-web/src/main/js/app/modules/states/configuration/summary/summary.controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/summary/summary.controller.js b/modules/control-center-web/src/main/js/app/modules/states/configuration/summary/summary.controller.js
index b53bf0c..46d9f0d 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/summary/summary.controller.js
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/summary/summary.controller.js
@@ -119,6 +119,7 @@ export default [
}
]
},
+ { type: 'file', name: '.dockerignore' },
{ type: 'file', name: 'Dockerfile' },
{ type: 'file', name: 'pom.xml' },
{ type: 'file', name: 'README.txt' }
@@ -229,6 +230,7 @@ export default [
const zip = new JSZip();
zip.file('Dockerfile', ctrl.data.docker);
+ zip.file('.dockerignore', $generatorDocker.ignoreFile());
const builder = $generatorProperties.generateProperties(cluster);
http://git-wip-us.apache.org/repos/asf/ignite/blob/f983f421/modules/control-center-web/src/main/js/helpers/generator/generator-docker.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/helpers/generator/generator-docker.js b/modules/control-center-web/src/main/js/helpers/generator/generator-docker.js
index fff6453..c45b25b 100644
--- a/modules/control-center-web/src/main/js/helpers/generator/generator-docker.js
+++ b/modules/control-center-web/src/main/js/helpers/generator/generator-docker.js
@@ -24,17 +24,6 @@ $generatorDocker.from = function(cluster, version) {
'FROM apacheignite/ignite:' + version
};
-// Generate secret properties if needed.
-$generatorDocker.secret = function(cluster) {
- if ($generatorCommon.secretPropertiesNeeded(cluster))
- return '# Append secret.properties file to container.\n' +
- 'ADD ./src/main/resources/secret.properties $IGNITE_HOME/config/secret.properties\n\n' +
- '# Add secret.properties file to classpath.\n' +
- 'ENV USER_LIBS $IGNITE_HOME/config';
-
- return '';
-};
-
// Generate Docker file for cluster.
$generatorDocker.clusterDocker = function (cluster, version) {
return $generatorDocker.from(cluster, version) + '\n\n' +
@@ -42,9 +31,22 @@ $generatorDocker.clusterDocker = function (cluster, version) {
'ENV CONFIG_URI config/' + cluster.name + '-server.xml\n\n' +
'# Copy ignite-http-rest from optional.\n' +
'ENV OPTION_LIBS ignite-rest-http\n\n' +
- '# Append config file to container.\n' +
- 'ADD ./config $IGNITE_HOME/config\n\n' +
- '# Append jdbc drivers to container.\n' +
- 'ADD ./jdbc-drivers $IGNITE_HOME/libs/jdbc-drivers\n\n' +
- $generatorDocker.secret(cluster) + '\n';
+ '# Update packages and install maven, cpio.\n' +
+ 'RUN \\\n' +
+ ' apt-get update && \\\n' +
+ ' apt-get install -y maven cpio\n\n' +
+ '# Append project to container.\n' +
+ 'ADD . ' + cluster.name + '\n\n' +
+ '# Build project in container container.\n' +
+ 'RUN mvn -f ' + cluster.name + '/pom.xml clean package -DskipTests\n\n' +
+ '# Copy project jars to node classpath.\n' +
+ 'RUN mkdir $IGNITE_HOME/libs/' + cluster.name + ' && \\\n' +
+ '(cd ' + cluster.name +'/target && find . -name "*.jar" -type f | cpio -updm $IGNITE_HOME/libs/' + cluster.name + ') && \\\n' +
+ 'cp -r ' + cluster.name + '/config/* $IGNITE_HOME/config\n'
+};
+
+
+$generatorDocker.ignoreFile = function() {
+ return 'target\n' +
+ 'Dockerfile';
};
http://git-wip-us.apache.org/repos/asf/ignite/blob/f983f421/modules/control-center-web/src/main/js/helpers/generator/generator-pom.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/helpers/generator/generator-pom.js b/modules/control-center-web/src/main/js/helpers/generator/generator-pom.js
index 2909b5f..7995d0a 100644
--- a/modules/control-center-web/src/main/js/helpers/generator/generator-pom.js
+++ b/modules/control-center-web/src/main/js/helpers/generator/generator-pom.js
@@ -84,6 +84,7 @@ $generatorPom.pom = function (cluster, igniteVersion, mvnRepositories, res) {
});
var dependencies = [];
+ var excludeGroupIds = ['org.apache.ignite'];
function addDependency(groupId, artifactId, version, jar) {
dependencies.push({
@@ -195,7 +196,7 @@ $generatorPom.pom = function (cluster, igniteVersion, mvnRepositories, res) {
if (dialect.SQLServer)
addDependency('microsoft', 'jdbc', '4.1', 'sqljdbc41.jar');
- $generatorPom.dependencies(res, cluster, dependencies);
+ $generatorPom.dependencies(res, cluster, dependencies, excludeGroupIds);
res.needEmptyLine = true;
@@ -207,6 +208,24 @@ $generatorPom.pom = function (cluster, igniteVersion, mvnRepositories, res) {
res.startBlock('<plugins>');
res.startBlock('<plugin>');
+ $generatorPom.addProperty(res, 'artifactId', 'maven-dependency-plugin');
+ res.startBlock('<executions>');
+ res.startBlock('<execution>');
+ $generatorPom.addProperty(res, 'id', 'copy-libs');
+ $generatorPom.addProperty(res, 'phase', 'test-compile');
+ res.startBlock('<goals>');
+ $generatorPom.addProperty(res, 'goal', 'copy-dependencies');
+ res.endBlock('</goals>');
+ res.startBlock('<configuration>');
+ $generatorPom.addProperty(res, 'excludeGroupIds', excludeGroupIds.join(','));
+ $generatorPom.addProperty(res, 'outputDirectory', 'target/libs');
+ $generatorPom.addProperty(res, 'includeScope', 'runtime');
+ $generatorPom.addProperty(res, 'excludeTransitive', 'true');
+ res.endBlock('</configuration>');
+ res.endBlock('</execution>');
+ res.endBlock('</executions>');
+ res.endBlock('</plugin>');
+ res.startBlock('<plugin>');
$generatorPom.addProperty(res, 'artifactId', 'maven-compiler-plugin');
$generatorPom.addProperty(res, 'version', '3.1');
res.startBlock('<configuration>');