From 8087e90c386b4fc85a00fed0fc174ff7e31cb15a Mon Sep 17 00:00:00 2001 From: Robin Shen Date: Thu, 22 Jun 2023 22:11:56 +0800 Subject: [PATCH] feat: docker build image without pushing (#1434) --- pom.xml | 4 +- server-core/pom.xml | 2 +- .../io/onedev/server/buildspec/BuildSpec.java | 37 +++++++++++++++++++ .../server/buildspec/step/BuildImageStep.java | 13 ++++++- server-plugin/pom.xml | 2 +- server-plugin/server-plugin-archetype/pom.xml | 2 +- .../server-plugin-authenticator-ldap/pom.xml | 2 +- .../server-plugin-buildspec-gradle/pom.xml | 2 +- .../server-plugin-buildspec-maven/pom.xml | 2 +- .../server-plugin-buildspec-node/pom.xml | 2 +- .../server-plugin-executor-kubernetes/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../server-plugin-import-gitea/pom.xml | 2 +- .../server-plugin-import-github/pom.xml | 2 +- .../server-plugin-import-gitlab/pom.xml | 2 +- .../server-plugin-import-jiracloud/pom.xml | 2 +- .../server-plugin-import-url/pom.xml | 2 +- .../server-plugin-import-youtrack/pom.xml | 2 +- .../pom.xml | 2 +- .../server-plugin-notification-slack/pom.xml | 2 +- .../server-plugin-report-checkstyle/pom.xml | 2 +- .../server-plugin-report-clover/pom.xml | 2 +- .../server-plugin-report-coverage/pom.xml | 2 +- .../server-plugin-report-cpd/pom.xml | 2 +- .../server-plugin-report-jacoco/pom.xml | 2 +- .../server-plugin-report-jest/pom.xml | 2 +- .../server-plugin-report-junit/pom.xml | 2 +- .../server-plugin-report-markdown/pom.xml | 2 +- .../server-plugin-report-pmd/pom.xml | 2 +- .../server-plugin-report-problem/pom.xml | 2 +- .../server-plugin-report-spotbugs/pom.xml | 2 +- .../server-plugin-report-unittest/pom.xml | 2 +- .../server-plugin-sso-discord/pom.xml | 2 +- .../server-plugin-sso-openid/pom.xml | 2 +- server-product/pom.xml | 2 +- 39 files changed, 87 insertions(+), 39 deletions(-) diff --git a/pom.xml b/pom.xml index 6f087f9b44..9b89d0d637 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ 1.2.0 server - 8.4.0 + 8.4.1 pom ${project.groupId}.${project.artifactId}-${project.version} @@ -615,7 +615,7 @@ 2.7.16 - 1.8.19 + 1.8.20 1.7.36 1.2.11 4.7.2 diff --git a/server-core/pom.xml b/server-core/pom.xml index 55167996a9..d30bf365d8 100644 --- a/server-core/pom.xml +++ b/server-core/pom.xml @@ -7,7 +7,7 @@ io.onedev server - 8.4.0 + 8.4.1 diff --git a/server-core/src/main/java/io/onedev/server/buildspec/BuildSpec.java b/server-core/src/main/java/io/onedev/server/buildspec/BuildSpec.java index 9d5a907f70..4ef4ec9330 100644 --- a/server-core/src/main/java/io/onedev/server/buildspec/BuildSpec.java +++ b/server-core/src/main/java/io/onedev/server/buildspec/BuildSpec.java @@ -1611,5 +1611,42 @@ public class BuildSpec implements Serializable, Validatable { } } } + + private void migrate23_steps(SequenceNode stepsNode) { + for (var itStepNode = stepsNode.getValue().iterator(); itStepNode.hasNext();) { + MappingNode stepNode = (MappingNode) itStepNode.next(); + if (stepNode.getTag().getValue().equals("!BuildImageStep")) { + stepNode.getValue().add(new NodeTuple( + new ScalarNode(Tag.STR, "publish"), new ScalarNode(Tag.STR, "true"))); + } + } + } + + private void migrate23(VersionedYamlDoc doc, Stack versions) { + for (NodeTuple specTuple: doc.getValue()) { + String specObjectKey = ((ScalarNode)specTuple.getKeyNode()).getValue(); + if (specObjectKey.equals("jobs")) { + SequenceNode jobsNode = (SequenceNode) specTuple.getValueNode(); + for (Node jobsNodeItem: jobsNode.getValue()) { + MappingNode jobNode = (MappingNode) jobsNodeItem; + for (NodeTuple jobTuple: jobNode.getValue()) { + String jobTupleKey = ((ScalarNode)jobTuple.getKeyNode()).getValue(); + if (jobTupleKey.equals("steps")) + migrate23_steps((SequenceNode) jobTuple.getValueNode()); + } + } + } else if (specObjectKey.equals("stepTemplates")) { + SequenceNode stepTemplatesNode = (SequenceNode) specTuple.getValueNode(); + for (Node stepTemplatesNodeItem: stepTemplatesNode.getValue()) { + MappingNode stepTemplateNode = (MappingNode) stepTemplatesNodeItem; + for (NodeTuple stepTemplateTuple: stepTemplateNode.getValue()) { + String stepTemplateTupleKey = ((ScalarNode)stepTemplateTuple.getKeyNode()).getValue(); + if (stepTemplateTupleKey.equals("steps")) + migrate23_steps((SequenceNode)stepTemplateTuple.getValueNode()); + } + } + } + } + } } diff --git a/server-core/src/main/java/io/onedev/server/buildspec/step/BuildImageStep.java b/server-core/src/main/java/io/onedev/server/buildspec/step/BuildImageStep.java index fe48063d6d..8e356b27ae 100644 --- a/server-core/src/main/java/io/onedev/server/buildspec/step/BuildImageStep.java +++ b/server-core/src/main/java/io/onedev/server/buildspec/step/BuildImageStep.java @@ -31,6 +31,8 @@ public class BuildImageStep extends Step { private String tags; + private boolean publish = true; + private String moreOptions; @Editable(order=100, description="Optionally specify build path relative to job workspace. " @@ -69,6 +71,15 @@ public class BuildImageStep extends Step { public void setTags(String tags) { this.tags = tags; } + + @Editable(order=330, name="Publish After Build", description="Whether or not to publish built image to docker registry") + public boolean isPublish() { + return publish; + } + + public void setPublish(boolean publish) { + this.publish = publish; + } @Editable(order=350, description="Optionally specify additional options to build image, " + "separated by spaces") @@ -89,7 +100,7 @@ public class BuildImageStep extends Step { @Override public StepFacade getFacade(Build build, JobExecutor jobExecutor, String jobToken, ParamCombination paramCombination) { - return new BuildImageFacade(getBuildPath(), getDockerfile(), getTags(), getMoreOptions()); + return new BuildImageFacade(getBuildPath(), getDockerfile(), getTags(), isPublish(), getMoreOptions()); } } diff --git a/server-plugin/pom.xml b/server-plugin/pom.xml index 26eb3b0dc8..c278d7d794 100644 --- a/server-plugin/pom.xml +++ b/server-plugin/pom.xml @@ -6,7 +6,7 @@ io.onedev server - 8.4.0 + 8.4.1 diff --git a/server-plugin/server-plugin-archetype/pom.xml b/server-plugin/server-plugin-archetype/pom.xml index 50db71b805..aac40ff16a 100644 --- a/server-plugin/server-plugin-archetype/pom.xml +++ b/server-plugin/server-plugin-archetype/pom.xml @@ -6,7 +6,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 diff --git a/server-plugin/server-plugin-authenticator-ldap/pom.xml b/server-plugin/server-plugin-authenticator-ldap/pom.xml index 5ae67126c0..c6433682df 100644 --- a/server-plugin/server-plugin-authenticator-ldap/pom.xml +++ b/server-plugin/server-plugin-authenticator-ldap/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.authenticator.ldap.LdapModule diff --git a/server-plugin/server-plugin-buildspec-gradle/pom.xml b/server-plugin/server-plugin-buildspec-gradle/pom.xml index cd45f94195..3e1a15d3f3 100644 --- a/server-plugin/server-plugin-buildspec-gradle/pom.xml +++ b/server-plugin/server-plugin-buildspec-gradle/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.buildspec.gradle.GradleModule diff --git a/server-plugin/server-plugin-buildspec-maven/pom.xml b/server-plugin/server-plugin-buildspec-maven/pom.xml index 1db7c6b477..c47900067a 100644 --- a/server-plugin/server-plugin-buildspec-maven/pom.xml +++ b/server-plugin/server-plugin-buildspec-maven/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.buildspec.maven.MavenModule diff --git a/server-plugin/server-plugin-buildspec-node/pom.xml b/server-plugin/server-plugin-buildspec-node/pom.xml index de70e575f7..9d1411e3d5 100644 --- a/server-plugin/server-plugin-buildspec-node/pom.xml +++ b/server-plugin/server-plugin-buildspec-node/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.buildspec.node.NodePluginModule diff --git a/server-plugin/server-plugin-executor-kubernetes/pom.xml b/server-plugin/server-plugin-executor-kubernetes/pom.xml index 547e8357e9..0e94bacb70 100644 --- a/server-plugin/server-plugin-executor-kubernetes/pom.xml +++ b/server-plugin/server-plugin-executor-kubernetes/pom.xml @@ -6,7 +6,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.executor.kubernetes.KubernetesModule diff --git a/server-plugin/server-plugin-executor-remotedocker/pom.xml b/server-plugin/server-plugin-executor-remotedocker/pom.xml index 3c5a3769b7..96f523f45b 100644 --- a/server-plugin/server-plugin-executor-remotedocker/pom.xml +++ b/server-plugin/server-plugin-executor-remotedocker/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 diff --git a/server-plugin/server-plugin-executor-remoteshell/pom.xml b/server-plugin/server-plugin-executor-remoteshell/pom.xml index 2aff1147ba..d5e04108b4 100644 --- a/server-plugin/server-plugin-executor-remoteshell/pom.xml +++ b/server-plugin/server-plugin-executor-remoteshell/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 diff --git a/server-plugin/server-plugin-executor-serverdocker/pom.xml b/server-plugin/server-plugin-executor-serverdocker/pom.xml index eb76af5de5..5dbc5f3397 100644 --- a/server-plugin/server-plugin-executor-serverdocker/pom.xml +++ b/server-plugin/server-plugin-executor-serverdocker/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.executor.serverdocker.ServerDockerModule diff --git a/server-plugin/server-plugin-executor-servershell/pom.xml b/server-plugin/server-plugin-executor-servershell/pom.xml index cf28637034..80f992f39d 100644 --- a/server-plugin/server-plugin-executor-servershell/pom.xml +++ b/server-plugin/server-plugin-executor-servershell/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.executor.servershell.ServerShellModule diff --git a/server-plugin/server-plugin-import-bitbucketcloud/pom.xml b/server-plugin/server-plugin-import-bitbucketcloud/pom.xml index b144135cf5..0c4b3f4a72 100644 --- a/server-plugin/server-plugin-import-bitbucketcloud/pom.xml +++ b/server-plugin/server-plugin-import-bitbucketcloud/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.imports.bitbucketcloud.BitbucketModule diff --git a/server-plugin/server-plugin-import-gitea/pom.xml b/server-plugin/server-plugin-import-gitea/pom.xml index 2c2e54167a..a1b97f689d 100644 --- a/server-plugin/server-plugin-import-gitea/pom.xml +++ b/server-plugin/server-plugin-import-gitea/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.imports.gitea.GiteaModule diff --git a/server-plugin/server-plugin-import-github/pom.xml b/server-plugin/server-plugin-import-github/pom.xml index fa4bb5fa15..9407755fa8 100644 --- a/server-plugin/server-plugin-import-github/pom.xml +++ b/server-plugin/server-plugin-import-github/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.imports.github.GitHubModule diff --git a/server-plugin/server-plugin-import-gitlab/pom.xml b/server-plugin/server-plugin-import-gitlab/pom.xml index 3b6d28a67a..88e566a8e4 100644 --- a/server-plugin/server-plugin-import-gitlab/pom.xml +++ b/server-plugin/server-plugin-import-gitlab/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.imports.gitlab.GitLabModule diff --git a/server-plugin/server-plugin-import-jiracloud/pom.xml b/server-plugin/server-plugin-import-jiracloud/pom.xml index 73228049cc..0f2c4c62be 100644 --- a/server-plugin/server-plugin-import-jiracloud/pom.xml +++ b/server-plugin/server-plugin-import-jiracloud/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.imports.jiracloud.JiraModule diff --git a/server-plugin/server-plugin-import-url/pom.xml b/server-plugin/server-plugin-import-url/pom.xml index 1bc52ddd23..879e454f72 100644 --- a/server-plugin/server-plugin-import-url/pom.xml +++ b/server-plugin/server-plugin-import-url/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.imports.url.UrlModule diff --git a/server-plugin/server-plugin-import-youtrack/pom.xml b/server-plugin/server-plugin-import-youtrack/pom.xml index c368785930..89b8e002ea 100644 --- a/server-plugin/server-plugin-import-youtrack/pom.xml +++ b/server-plugin/server-plugin-import-youtrack/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.imports.youtrack.YouTrackModule diff --git a/server-plugin/server-plugin-notification-discord/pom.xml b/server-plugin/server-plugin-notification-discord/pom.xml index 7d835b7abe..0756218411 100644 --- a/server-plugin/server-plugin-notification-discord/pom.xml +++ b/server-plugin/server-plugin-notification-discord/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.notification.discord.DiscordModule diff --git a/server-plugin/server-plugin-notification-slack/pom.xml b/server-plugin/server-plugin-notification-slack/pom.xml index 21b5734e0f..61ec1bc8e5 100644 --- a/server-plugin/server-plugin-notification-slack/pom.xml +++ b/server-plugin/server-plugin-notification-slack/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.notification.slack.SlackModule diff --git a/server-plugin/server-plugin-report-checkstyle/pom.xml b/server-plugin/server-plugin-report-checkstyle/pom.xml index 67d7e084c5..c21f6e25d6 100644 --- a/server-plugin/server-plugin-report-checkstyle/pom.xml +++ b/server-plugin/server-plugin-report-checkstyle/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 diff --git a/server-plugin/server-plugin-report-clover/pom.xml b/server-plugin/server-plugin-report-clover/pom.xml index 68263c0190..f1de1120b2 100644 --- a/server-plugin/server-plugin-report-clover/pom.xml +++ b/server-plugin/server-plugin-report-clover/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 diff --git a/server-plugin/server-plugin-report-coverage/pom.xml b/server-plugin/server-plugin-report-coverage/pom.xml index 31ed6273b4..305e1663b0 100644 --- a/server-plugin/server-plugin-report-coverage/pom.xml +++ b/server-plugin/server-plugin-report-coverage/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.report.coverage.CoverageModule diff --git a/server-plugin/server-plugin-report-cpd/pom.xml b/server-plugin/server-plugin-report-cpd/pom.xml index 2907ccfcad..6f66ed41ad 100644 --- a/server-plugin/server-plugin-report-cpd/pom.xml +++ b/server-plugin/server-plugin-report-cpd/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 diff --git a/server-plugin/server-plugin-report-jacoco/pom.xml b/server-plugin/server-plugin-report-jacoco/pom.xml index a20d793249..7f735b44bb 100644 --- a/server-plugin/server-plugin-report-jacoco/pom.xml +++ b/server-plugin/server-plugin-report-jacoco/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 diff --git a/server-plugin/server-plugin-report-jest/pom.xml b/server-plugin/server-plugin-report-jest/pom.xml index 6501276ab0..e3c4b4501a 100644 --- a/server-plugin/server-plugin-report-jest/pom.xml +++ b/server-plugin/server-plugin-report-jest/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 diff --git a/server-plugin/server-plugin-report-junit/pom.xml b/server-plugin/server-plugin-report-junit/pom.xml index 831d6fd750..12a9dbd628 100644 --- a/server-plugin/server-plugin-report-junit/pom.xml +++ b/server-plugin/server-plugin-report-junit/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 diff --git a/server-plugin/server-plugin-report-markdown/pom.xml b/server-plugin/server-plugin-report-markdown/pom.xml index b6af9a2614..81f7219145 100644 --- a/server-plugin/server-plugin-report-markdown/pom.xml +++ b/server-plugin/server-plugin-report-markdown/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.report.markdown.MarkdownModule diff --git a/server-plugin/server-plugin-report-pmd/pom.xml b/server-plugin/server-plugin-report-pmd/pom.xml index 8156fe83fe..f85a135683 100644 --- a/server-plugin/server-plugin-report-pmd/pom.xml +++ b/server-plugin/server-plugin-report-pmd/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 diff --git a/server-plugin/server-plugin-report-problem/pom.xml b/server-plugin/server-plugin-report-problem/pom.xml index e9769112d8..9b138400ac 100644 --- a/server-plugin/server-plugin-report-problem/pom.xml +++ b/server-plugin/server-plugin-report-problem/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.report.problem.ProblemModule diff --git a/server-plugin/server-plugin-report-spotbugs/pom.xml b/server-plugin/server-plugin-report-spotbugs/pom.xml index 53549dfbed..a8257a7681 100644 --- a/server-plugin/server-plugin-report-spotbugs/pom.xml +++ b/server-plugin/server-plugin-report-spotbugs/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 diff --git a/server-plugin/server-plugin-report-unittest/pom.xml b/server-plugin/server-plugin-report-unittest/pom.xml index e3f85fec25..73fbe2bb35 100644 --- a/server-plugin/server-plugin-report-unittest/pom.xml +++ b/server-plugin/server-plugin-report-unittest/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.report.unittest.UnitTestModule diff --git a/server-plugin/server-plugin-sso-discord/pom.xml b/server-plugin/server-plugin-sso-discord/pom.xml index e3832a489e..fe150d189a 100644 --- a/server-plugin/server-plugin-sso-discord/pom.xml +++ b/server-plugin/server-plugin-sso-discord/pom.xml @@ -5,7 +5,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.sso.discord.DiscordModule diff --git a/server-plugin/server-plugin-sso-openid/pom.xml b/server-plugin/server-plugin-sso-openid/pom.xml index d8fa25da10..828e5a5e3f 100644 --- a/server-plugin/server-plugin-sso-openid/pom.xml +++ b/server-plugin/server-plugin-sso-openid/pom.xml @@ -6,7 +6,7 @@ io.onedev server-plugin - 8.4.0 + 8.4.1 io.onedev.server.plugin.sso.openid.OpenIdModule diff --git a/server-product/pom.xml b/server-product/pom.xml index 4d69c8c110..8e72d4d55b 100644 --- a/server-product/pom.xml +++ b/server-product/pom.xml @@ -7,7 +7,7 @@ io.onedev server - 8.4.0 + 8.4.1