Browse Source

Build and publish snapshot Docker images for testing (#7454)

kezhenxu94 3 years ago
parent
commit
b350dc70c9

+ 63 - 0
.github/workflows/publish-docker.yaml

@@ -0,0 +1,63 @@
+# 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.
+
+name: publish-docker
+
+on:
+  push:
+    branches:
+      - dev
+
+env:
+  HUB: ghcr.io/apache/dolphinscheduler
+
+jobs:
+  build:
+    if: github.repository == 'apache/dolphinscheduler'
+    runs-on: ubuntu-latest
+    permissions:
+      contents: read
+      packages: write
+    timeout-minutes: 30
+    steps:
+      - uses: actions/checkout@v2
+      - name: Cache local Maven repository
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+          restore-keys: |
+            ${{ runner.os }}-maven-
+      - name: Log in to the Container registry
+        uses: docker/login-action@v1.10.0
+        with:
+          registry: ${{ env.HUB }}
+          username: ${{ github.actor }}
+          password: ${{ secrets.GITHUB_TOKEN }}
+      - name: Set up QEMU
+        uses: docker/setup-qemu-action@v1
+      - name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v1
+      - name: Build and push docker images
+        run: |
+          ./mvnw -B clean deploy \
+          -Dmaven.test.skip \
+          -Dmaven.javadoc.skip \
+          -Dmaven.checkstyle.skip \
+          -Dmaven.deploy.skip \
+          -Ddocker.tag=${{ github.sha }} \
+          -Ddocker.hub=${{ env.HUB }} \
+          -Pdocker,release

+ 1 - 1
deploy/docker/.env

@@ -15,7 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 #
-HUB=apache
+HUB=ghcr.io/apache/dolphinscheduler
 TAG=latest
 
 TZ=Asia/Shanghai

+ 0 - 1
dolphinscheduler-dist/pom.xml

@@ -25,7 +25,6 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>dolphinscheduler-dist</artifactId>
-    <packaging>provisio</packaging>
     <name>${project.artifactId}</name>
     <properties>
         <maven.deploy.skip>true</maven.deploy.skip>

+ 0 - 36
dolphinscheduler-dist/src/main/provisio/dolphinscheduler.xml

@@ -1,36 +0,0 @@
-<!--
-  ~ 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.
-  -->
-<runtime>
-
-    <artifactSet to="/lib">
-        <exclusion>org.slf4j:slf4j-log4j12</exclusion>
-        <exclusion>org.slf4j:slf4j-api</exclusion>
-        <exclusion>ch.qos.logback:logback-classic</exclusion>
-    </artifactSet>
-    <!-- Target -->
-    <archive name="${project.artifactId}-${project.version}.tar.gz" hardLinkIncludes="**/*.jar"/>
-    <!-- Notices -->
-    <fileSet to="/">
-        <directory path="${basedir}/../">
-            <include>DISCLAIMER</include>
-            <include>install.sh</include>
-            <include>LICENSE</include>
-            <include>NOTICE</include>
-        </directory>
-
-    </fileSet>
-</runtime>

+ 0 - 12
pom.xml

@@ -867,13 +867,6 @@
     <build>
         <pluginManagement>
             <plugins>
-                <plugin>
-                    <groupId>ca.vanzyl.maven.plugins</groupId>
-                    <artifactId>provisio-maven-plugin</artifactId>
-                    <version>1.0.4</version>
-                    <extensions>true</extensions>
-                </plugin>
-
                 <plugin>
                     <groupId>org.codehaus.mojo</groupId>
                     <artifactId>rpm-maven-plugin</artifactId>
@@ -987,11 +980,6 @@
         </pluginManagement>
 
         <plugins>
-            <plugin>
-                <groupId>ca.vanzyl.maven.plugins</groupId>
-                <artifactId>provisio-maven-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-javadoc-plugin</artifactId>