-
Notifications
You must be signed in to change notification settings - Fork 580
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update SCDF so that multipleComposedTaskWithArguments succeeds
Step 1. Make sure to remove the version from the docker compose. It is no longer needed and causes older versions of docker to fail Step 2. Update compose files to use the latest version of SCDF 3.x instead of 2.11.x Step 3. Update build image script so that uses java 17 when creating containers Update the DataFlowIT and the Abstract classes it is built on so that multipleComposedTaskWithArguments test passes. Notice that JobParameterJacksonDeserializer and JobParametersJacksonMixIn have been updated. These changes mirror those in #5850. These were required for the test to pass. At the time this PR is merged we can merge accepting those from #5850. Provide docs on how SCDF images are created and pushed Also update the DEFAULT_JDK to Java 17 Update PR based on code review comments * Added log message in case a JobParameter Type is invalid * cleaned up workflow.adoc
- Loading branch information
Showing
10 changed files
with
90 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
= Workflow Reference | ||
|
||
This README serves as a guide to the GitHub Action workflows included in this repository. | ||
It outlines the purpose and functionality of each workflow, detailing their role in the CI and release processes. | ||
Additionally, this document provides an overview of the scripts and actions utilized in these workflows, offering insights into how they work together in SCDF's CI/CD pipeline. | ||
|
||
This document is a work in progress, and as various workflows are updated, the documentation will be revised to reflect both existing and new behaviors. | ||
|
||
|
||
== Building Docker Images and pushing the containers to DockerHub | ||
.This diagram shows the flow of execution of how workflows create Docker imges. | ||
``` | ||
┌─────────────────────────┐ | ||
│ │ | ||
│ │ | ||
│build-snapshot-worker.yml┼────┐ | ||
│ │ │ | ||
│ │ │ | ||
└─────────────────────────┘ │ | ||
┌─────────────────────────┐ │ | ||
│ │ │ | ||
│ │ │ | ||
│ ci-images.yml ┼────┤ ┌─────────────────────────┐ ┌─────────────────────────┐ | ||
│ │ │ │ │ │ │ | ||
│ │ │ │ │ │ │ | ||
└─────────────────────────┘ ├────►│ build-images.yml ┼────────►│ build-image.sh │ | ||
┌─────────────────────────┐ │ │ │ │ │ | ||
│ │ │ │ │ │ │ | ||
│ │ │ └───────────┬─────────────┘ └─────────────────────────┘ | ||
│ ci.yml ┼────┤ │ | ||
│ │ │ │ | ||
│ │ │ ┌───────────┴─────────────┐ | ||
└─────────────────────────┘ │ │ │ | ||
┌─────────────────────────┐ │ │ │ | ||
│ │ │ │ images.json │ | ||
│ │ │ │ │ | ||
│ release-worker.yml ┼────┘ │ │ | ||
│ │ └─────────────────────────┘ | ||
│ │ | ||
└─────────────────────────┘ | ||
``` | ||
|
||
Part of the release and CI process involves creating and pushing images to a registry (such as DockerHub) for the Dataflow server, Skipper server, CTR app, and other components. | ||
This process is managed by the `build-images` (build-images.yml) workflow. While the `build-images` workflow is typically not run independently, it is invoked by other workflows that handle CI builds and releases. | ||
The `build-images` workflow determines which images to create based on the `images.json` file. | ||
This file contains metadata on the primary SCDF components that need to have an associated image. | ||
Each entry specifies the location (directory) where the jar can be found, jar name, and image name for each artifact that will be used to construct the image. | ||
For each entry in the `images.json` file, the workflow calls the `build-image.sh` script, which retrieves the jar, builds the image, and then pushes it to the registry. | ||
|
||
SCDF also provides images for external applications that support some of the optional features that are offered by dataflow. | ||
These include Grafana and Prometheus local. | ||
These images are created and pushed using the docker/build-push-action@v2 action. | ||
|
||
=== Scripts used to build images | ||
As mentioned above, the `build-image.sh` script is responsible for building the specified image based on the parameters provided and then pushing the image to Dockerhub. | ||
This script uses Paketo to build an image for each of the supported Java versions using the corresponding jar file. | ||
The resulting image name will look something like `spring-cloud-dataflow-server:3.0.0-SNAPSHOT-jdk17`. | ||
Additionally, the script creates a default image using the default Java version as specified by the `DEFAULT_JDK` environment variable. | ||
|
||
The format for running the `build-image.sh` is as follows: | ||
[source, bash] | ||
``` | ||
bash | ||
./build-image.sh <directory containing the jar> <The name of the image to create> <name of the jar> | ||
``` | ||
|
||
There is an optional `DEFAULT_JDK` environment variable that allows you to set the JDK version for the default image created. | ||
If not the script will set it to its current setting (which as of the writing of this document is `17`). | ||
|
||
NOTE: When new releases of Java are available and are compliant with the SCDF release, they need to be added to the `build-image.sh` script. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 0 additions & 2 deletions
2
spring-cloud-dataflow-server/src/test/resources/docker-compose-maven-it-task-import.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,3 @@ | ||
version: '3' | ||
|
||
# CI specific test Task (scenario) registered from maven resource | ||
services: | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters