1
+ name : build-spark
2
+ description : builds spark master and worker images
3
+ inputs :
4
+ SCALA_VERSION :
5
+ description : ' Scala version to built images with'
6
+ required : true
7
+ SPARK_VERSION :
8
+ description : ' Spark version to built images with'
9
+ required : true
10
+ HADOOP_VERSION :
11
+ description : ' Hadoop version to built images with'
12
+ required : true
13
+ DOCKERHUB_USR :
14
+ description : ' Docker Hub user to push images with'
15
+ required : true
16
+ DOCKERHUB_PWD :
17
+ description : ' Docker Hub password to push images with'
18
+ required : true
19
+ IS_LATEST :
20
+ description : ' Indicate whether the images is latest'
21
+ required : false
22
+ default : " "
23
+ runs :
24
+ using : " composite"
25
+ steps :
26
+ - name : Build Base Image
27
+ shell : bash
28
+ run : |
29
+ cd ${GITHUB_WORKSPACE}/build
30
+ docker build \
31
+ --build-arg build_date="$(date -u +'%Y-%m-%d')" \
32
+ --build-arg scala_version="${{ inputs.SCALA_VERSION }}" \
33
+ -f docker/base/Dockerfile \
34
+ -t base:latest .
35
+ - name : Build Spark Base Image
36
+ shell : bash
37
+ run : |
38
+ cd ${GITHUB_WORKSPACE}/build
39
+ docker build \
40
+ --build-arg build_date="$(date -u +'%Y-%m-%d')" \
41
+ --build-arg spark_version="${{ inputs.SPARK_VERSION }}" \
42
+ --build-arg hadoop_version="${{ inputs.HADOOP_VERSION }}" \
43
+ -f docker/spark-base/Dockerfile \
44
+ -t spark-base:${{ inputs.SPARK_VERSION }} .
45
+ - name : Build & Push Spark Master Image
46
+ shell : bash
47
+ run : |
48
+ cd ${GITHUB_WORKSPACE}/build
49
+ docker build \
50
+ --build-arg build_date="$(date -u +'%Y-%m-%d')" \
51
+ --build-arg spark_version="${{ inputs.SPARK_VERSION }}" \
52
+ -f docker/spark-master/Dockerfile \
53
+ -t spark-master:${{ inputs.SPARK_VERSION }} .
54
+ docker tag spark-master:${{ inputs.SPARK_VERSION }} ${{ inputs.DOCKERHUB_USR }}/spark-master:${{ inputs.SPARK_VERSION }}
55
+ docker tag spark-master:${{ inputs.SPARK_VERSION }} ${{ inputs.DOCKERHUB_USR }}/spark-master:latest
56
+ echo ${{ inputs.DOCKERHUB_PWD }} | docker login -u ${{ inputs.DOCKERHUB_USR }} --password-stdin
57
+ if [ "${GITHUB_REF}" == "refs/heads/master" ]; then docker push ${{ inputs.DOCKERHUB_USR }}/spark-master:${{ inputs.SPARK_VERSION }}; fi
58
+ if [ "${GITHUB_REF}" == "refs/heads/master" ] && [ "${{ inputs.IS_LATEST }}" == "true" ]; then docker push ${{ inputs.DOCKERHUB_USR }}/spark-master:latest; fi
59
+ - name : Build & Push Spark Worker Image
60
+ shell : bash
61
+ run : |
62
+ cd ${GITHUB_WORKSPACE}/build
63
+ docker build \
64
+ --build-arg build_date="$(date -u +'%Y-%m-%d')" \
65
+ --build-arg spark_version="${{ inputs.SPARK_VERSION }}" \
66
+ -f docker/spark-worker/Dockerfile \
67
+ -t spark-worker:${{ inputs.SPARK_VERSION }} .
68
+ docker tag spark-worker:${{ inputs.SPARK_VERSION }} ${{ inputs.DOCKERHUB_USR }}/spark-worker:${{ inputs.SPARK_VERSION }}
69
+ docker tag spark-worker:${{ inputs.SPARK_VERSION }} ${{ inputs.DOCKERHUB_USR }}/spark-worker:latest
70
+ echo ${{ inputs.DOCKERHUB_PWD }} | docker login -u ${{ inputs.DOCKERHUB_USR }} --password-stdin
71
+ if [ "${GITHUB_REF}" == "refs/heads/master" ]; then docker push ${{ inputs.DOCKERHUB_USR }}/spark-worker:${{ inputs.SPARK_VERSION }}; fi
72
+ if [ "${GITHUB_REF}" == "refs/heads/master" ] && [ "${{ inputs.IS_LATEST }}" == "true" ]; then docker push ${{ inputs.DOCKERHUB_USR }}/spark-worker:latest; fi
0 commit comments