Commit 9de928ea authored by lgcareer's avatar lgcareer Committed by qiaozhanwei
Browse files

add profile nginx in order to deploy frontend (#1599)

* add profile nginx

* add dolphinscheduler-nginx.xml
parent fe9344d4
Loading
Loading
Loading
Loading
+57 −0
Original line number Diff line number Diff line
@@ -102,6 +102,63 @@
            </build>
        </profile>

        <profile>
            <id>nginx</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>dolphinscheduler-nginx</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>

                                <configuration>
                                    <descriptors>
                                        <descriptor>src/main/assembly/dolphinscheduler-nginx.xml</descriptor>
                                    </descriptors>
                                    <appendAssemblyId>true</appendAssemblyId>
                                </configuration>
                            </execution>

                            <execution>
                                <id>src</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <descriptors>
                                        <descriptor>src/main/assembly/dolphinscheduler-src.xml</descriptor>
                                    </descriptors>
                                    <appendAssemblyId>true</appendAssemblyId>
                                </configuration>
                            </execution>

                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                </plugins>
            </build>
        </profile>

        <profile>
            <id>rpmbuild</id>
            <build>
+236 −0
Original line number Diff line number Diff line
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<assembly
		xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
	<id>dolphinscheduler-nginx</id>
	<formats>
		<format>tar.gz</format>
	</formats>
	<includeBaseDirectory>true</includeBaseDirectory>
	<baseDirectory>${project.build.finalName}-dolphinscheduler-bin</baseDirectory>

	<fileSets>
		<!--alert start-->
		<fileSet>
			<directory>${basedir}/../dolphinscheduler-alert/src/main/resources</directory>
			<includes>
				<include>**/*.properties</include>
				<include>**/*.xml</include>
				<include>**/*.json</include>
				<include>**/*.ftl</include>
			</includes>
			<outputDirectory>./conf</outputDirectory>
		</fileSet>
		<!--alert end-->

		<!--api start-->
		<fileSet>
			<directory>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</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>
				<include>**/*.properties</include>
				<include>**/*.xml</include>
				<include>**/*.json</include>
			</includes>
			<outputDirectory>conf</outputDirectory>
		</fileSet>
		<fileSet>
			<directory>${basedir}/../dolphinscheduler-api/src/main/resources</directory>
			<includes>
				<include>**/*.properties</include>
				<include>**/*.xml</include>
				<include>**/*.json</include>
			</includes>
			<outputDirectory>conf</outputDirectory>
		</fileSet>
		<!--api end-->

		<!--server start-->
		<fileSet>
			<directory>${basedir}/../dolphinscheduler-server/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</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>
				<include>**/*.properties</include>
				<include>**/*.xml</include>
				<include>**/*.json</include>
				<include>**/*.yml</include>
			</includes>
			<outputDirectory>conf</outputDirectory>
		</fileSet>
		<!--server end-->

		<fileSet>
			<directory>${basedir}/../dolphinscheduler-server/target/dolphinscheduler-server-${project.version}</directory>
			<includes>
				<include>**/*.*</include>
			</includes>
			<outputDirectory>.</outputDirectory>
		</fileSet>

		<fileSet>
			<directory>${basedir}/../dolphinscheduler-api/target/dolphinscheduler-api-${project.version}</directory>
			<includes>
				<include>**/*.*</include>
			</includes>
			<outputDirectory>.</outputDirectory>
		</fileSet>

		<fileSet>
			<directory>${basedir}/../dolphinscheduler-alert/target/dolphinscheduler-alert-${project.version}</directory>
			<includes>
				<include>**/*.*</include>
			</includes>
			<outputDirectory>.</outputDirectory>
		</fileSet>

		<fileSet>
			<directory>${basedir}/../dolphinscheduler-ui/dist</directory>
			<includes>
				<include>**/*.*</include>
			</includes>
			<outputDirectory>./ui/dist</outputDirectory>
		</fileSet>

		<fileSet>
			<directory>${basedir}/../dolphinscheduler-ui</directory>
			<includes>
				<include>install-dolphinscheduler-ui.sh</include>
			</includes>
			<outputDirectory>./ui</outputDirectory>
		</fileSet>

		<fileSet>
			<directory>${basedir}/../sql</directory>
			<includes>
				<include>**/*</include>
			</includes>
			<outputDirectory>./sql</outputDirectory>
		</fileSet>

		<fileSet>
			<directory>${basedir}/../script</directory>
			<includes>
				<include>*.*</include>
			</includes>
			<outputDirectory>./script</outputDirectory>
		</fileSet>

		<fileSet>
			<directory>${basedir}/../script</directory>
			<includes>
				<include>config/*.*</include>
				<include>env/*.*</include>
			</includes>
			<outputDirectory>./conf</outputDirectory>
		</fileSet>

		<fileSet>
			<directory>${basedir}/../script</directory>
			<includes>
				<include>start-all.sh</include>
				<include>stop-all.sh</include>
				<include>dolphinscheduler-daemon.sh</include>
			</includes>
			<outputDirectory>./bin</outputDirectory>
		</fileSet>

		<fileSet>
			<directory>${basedir}/.././</directory>
			<includes>
				<include>*.sh</include>
				<include>*.py</include>
				<include>DISCLAIMER</include>
			</includes>
			<outputDirectory>.</outputDirectory>
		</fileSet>

		<fileSet>
			<directory>${basedir}/release-docs</directory>
			<useDefaultExcludes>true</useDefaultExcludes>
			<includes>
				<include>**/*</include>
			</includes>
			<outputDirectory>.</outputDirectory>
		</fileSet>

	</fileSets>

	<dependencySets>
		<dependencySet>
			<outputDirectory>lib</outputDirectory>
			<useProjectArtifact>true</useProjectArtifact>
			<excludes>
				<exclude>javax.servlet:servlet-api</exclude>
				<exclude>org.eclipse.jetty.aggregate:jetty-all</exclude>
				<exclude>org.slf4j:slf4j-log4j12</exclude>
			</excludes>
		</dependencySet>
	</dependencySets>
</assembly>
 No newline at end of file
+115 −50
Original line number Diff line number Diff line
@@ -32,7 +32,9 @@
    <node.version>v12.12.0</node.version>
    <npm.version>6.11.3</npm.version>
  </properties>

  <profiles>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
@@ -82,5 +84,68 @@
            </executions>
          </plugin>
        </plugins>

      </build>
    </profile>

    <profile>
      <id>nginx</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.github.eirslett</groupId>
            <artifactId>frontend-maven-plugin</artifactId>
            <version>${frontend-maven-plugin.version}</version>
            <executions>
              <execution>
                <id>install node and npm</id>
                <goals>
                  <goal>install-node-and-npm</goal>
                </goals>
                <configuration>
                  <nodeVersion>${node.version}</nodeVersion>
                  <npmVersion>${npm.version}</npmVersion>
                </configuration>
              </execution>
              <execution>
                <id>npm install node-sass --unsafe-perm</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <phase>generate-resources</phase>
                <configuration>
                  <arguments>install node-sass --unsafe-perm</arguments>
                </configuration>
              </execution>
              <execution>
                <id>npm install</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <phase>generate-resources</phase>
                <configuration>
                  <arguments>install</arguments>
                </configuration>
              </execution>
              <execution>
                <id>npm run build</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <configuration>
                  <arguments>run build</arguments>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>

      </build>
    </profile>


  </profiles>



</project>