Commit a5261069 authored by gaojun2048's avatar gaojun2048 Committed by lgcareer
Browse files

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
parent 2c3ec993
Loading
Loading
Loading
Loading
+270 −0
Original line number Diff line number Diff line
@@ -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>


+2 −17
Original line number Diff line number Diff line
@@ -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 −0
Original line number Diff line number Diff line
@@ -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>