Added the maven profile to build rpm packages (#1563)

* Update quick-start.md

* 更新demo的地址

* add rpm plugin

* delete the git ignore files

* 测试git ignore

* 测试ignore

* optimize the .gitignore file

* add rpm package, delete unuse copy jar action in assembly

* delete docs dir

* add rpm plugin support

* add rpm plugin support

* add rpm plugin support

* dolphinscheduler-common have not bin dir

* dolphinscheduler-common have not bin dir

* delete unuse config about assembly

* add defineSatement

* add rpm plugin support

* add rpm plugin support

* add rpm plugin support

* add rpm support

* update install dirname , make front and backend together

* update rpm name

* update rpm name

* update rpm config

* add jars excludes

* add jars excludes

* add rpm plugion

* add rpm plugion

* add rpm plugion

* add auto create /opt/soft
This commit is contained in:
gaojun2048 2019-12-27 14:32:24 +08:00 committed by lgcareer
parent 2c3ec993d6
commit a526106952
3 changed files with 288 additions and 17 deletions

View File

@ -101,6 +101,276 @@
</plugins>
</build>
</profile>
<profile>
<id>rpmbuild</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<excludeScope>provided</excludeScope>
</configuration>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>attached-rpm</goal>
</goals>
</execution>
</executions>
<configuration>
<name>apache-dolphinscheduler-incubating</name>
<release>1</release>
<distribution>apache dolphinscheduler incubating rpm</distribution>
<group>apache</group>
<packager>dolphinscheduler</packager>
<!-- <version>${project.version}</version> -->
<prefix>/opt/soft</prefix>
<defineStatements>
<!-- disable compile python when rpm build -->
<defineStatement>__os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')</defineStatement>
</defineStatements>
<mappings>
<mapping>
<directory>/opt/soft/${project.build.finalName}/conf</directory>
<filemode>755</filemode>
<username>root</username>
<groupname>root</groupname>
<sources>
<source>
<location>
${basedir}/../dolphinscheduler-alert/src/main/resources
</location>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.json</include>
<include>**/*.ftl</include>
</includes>
</source>
<source>
<location>
${basedir}/../dolphinscheduler-common/src/main/resources
</location>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.json</include>
</includes>
</source>
<source>
<location>
${basedir}/../dolphinscheduler-dao/src/main/resources
</location>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.json</include>
<include>**/*.yml</include>
</includes>
</source>
<source>
<location>
${basedir}/../dolphinscheduler-api/src/main/resources
</location>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.json</include>
</includes>
</source>
<source>
<location>
${basedir}/../dolphinscheduler-server/src/main/resources
</location>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.json</include>
</includes>
</source>
<source>
<location>
${basedir}/../script
</location>
<includes>
<include>config/*.*</include>
<include>env/*.*</include>
</includes>
</source>
</sources>
</mapping>
<mapping>
<directory>/opt/soft/${project.build.finalName}/lib</directory>
<filemode>755</filemode>
<username>root</username>
<groupname>root</groupname>
<sources>
<source>
<location>
${basedir}/../dolphinscheduler-dist/target/lib
</location>
<includes>
<include>*.*</include>
</includes>
<excludes>
<exclude>servlet-api-*.jar</exclude>
<exclude>slf4j-log4j12-${slf4j.log4j12.version}.jar</exclude>
</excludes>
</source>
</sources>
</mapping>
<mapping>
<directory>/opt/soft/${project.build.finalName}/bin</directory>
<filemode>755</filemode>
<username>root</username>
<groupname>root</groupname>
<sources>
<source>
<location>
${basedir}/../script
</location>
<includes>
<include>start-all.sh</include>
<include>stop-all.sh</include>
<include>dolphinscheduler-daemon.sh</include>
</includes>
</source>
</sources>
</mapping>
<mapping>
<directory>/opt/soft/${project.build.finalName}</directory>
<filemode>755</filemode>
<username>root</username>
<groupname>root</groupname>
<sources>
<source>
<location>
${basedir}/../
</location>
<includes>
<include>*.sh</include>
<include>*.py</include>
<include>DISCLAIMER</include>
</includes>
</source>
<source>
<location>
${basedir}/../dolphinscheduler-ui
</location>
<includes>
<include>install-dolphinscheduler-ui.sh</include>
</includes>
</source>
<source>
<location>
${basedir}/release-docs
</location>
<includes>
<include>**/*</include>
</includes>
</source>
</sources>
</mapping>
<mapping>
<directory>/opt/soft/${project.build.finalName}/dist</directory>
<filemode>755</filemode>
<username>root</username>
<groupname>root</groupname>
<sources>
<source>
<location>
${basedir}/../dolphinscheduler-ui/dist
</location>
<includes>
<include>**/*.*</include>
</includes>
</source>
</sources>
</mapping>
<mapping>
<directory>/opt/soft/${project.build.finalName}/sql</directory>
<filemode>755</filemode>
<username>root</username>
<groupname>root</groupname>
<sources>
<source>
<location>
${basedir}/../sql
</location>
<includes>
<include>**/*.*</include>
</includes>
</source>
</sources>
</mapping>
<mapping>
<directory>/opt/soft/${project.build.finalName}/script</directory>
<filemode>755</filemode>
<username>root</username>
<groupname>root</groupname>
<sources>
<source>
<location>
${basedir}/../script
</location>
<includes>
<include>**/*.*</include>
</includes>
</source>
</sources>
</mapping>
</mappings>
<preinstallScriptlet>
<script>mkdir -p /opt/soft</script>
</preinstallScriptlet>
<postremoveScriptlet>
<script>rm -rf /opt/soft/apache-dolphinscheduler-incubating-${project.version}</script>
</postremoveScriptlet>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>

View File

@ -97,23 +97,8 @@
</includes>
<outputDirectory>conf</outputDirectory>
</fileSet>
<fileSet>
<directory>${basedir}/../dolphinscheduler-common/src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.json</include>
</includes>
<outputDirectory>conf</outputDirectory>
</fileSet>
<fileSet>
<directory>${basedir}/../dolphinscheduler-common/src/main/resources/bin</directory>
<includes>
<include>*.*</include>
</includes>
<directoryMode>755</directoryMode>
<outputDirectory>bin</outputDirectory>
</fileSet>
<fileSet>
<directory>${basedir}/../dolphinscheduler-dao/src/main/resources</directory>
<includes>

16
pom.xml
View File

@ -108,6 +108,8 @@
<maven-javadoc-plugin.version>2.10.3</maven-javadoc-plugin.version>
<maven-source-plugin.version>2.4</maven-source-plugin.version>
<maven-surefire-plugin.version>2.18.1</maven-surefire-plugin.version>
<maven-dependency-plugin.version>3.1.1</maven-dependency-plugin.version>
<rpm-maven-plugion.version>2.2.0</rpm-maven-plugion.version>
<jacoco.version>0.8.4</jacoco.version>
<jcip.version>1.0</jcip.version>
<maven.deploy.skip>false</maven.deploy.skip>
@ -524,6 +526,14 @@
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>${rpm-maven-plugion.version}</version>
<inherited>false</inherited>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
@ -568,6 +578,12 @@
<version>${maven-source-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-dependency-plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>