feat: docker build image without pushing (#1434)

This commit is contained in:
Robin Shen 2023-06-22 22:11:56 +08:00
parent 3c4ce8e38f
commit 8087e90c38
39 changed files with 87 additions and 39 deletions

View File

@ -9,7 +9,7 @@
<version>1.2.0</version> <version>1.2.0</version>
</parent> </parent>
<artifactId>server</artifactId> <artifactId>server</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<build> <build>
<finalName>${project.groupId}.${project.artifactId}-${project.version}</finalName> <finalName>${project.groupId}.${project.artifactId}-${project.version}</finalName>
@ -615,7 +615,7 @@
</repositories> </repositories>
<properties> <properties>
<commons.version>2.7.16</commons.version> <commons.version>2.7.16</commons.version>
<agent.version>1.8.19</agent.version> <agent.version>1.8.20</agent.version>
<slf4j.version>1.7.36</slf4j.version> <slf4j.version>1.7.36</slf4j.version>
<logback.version>1.2.11</logback.version> <logback.version>1.2.11</logback.version>
<antlr.version>4.7.2</antlr.version> <antlr.version>4.7.2</antlr.version>

View File

@ -7,7 +7,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server</artifactId> <artifactId>server</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<build> <build>
<plugins> <plugins>

View File

@ -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<Integer> 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());
}
}
}
}
}
} }

View File

@ -31,6 +31,8 @@ public class BuildImageStep extends Step {
private String tags; private String tags;
private boolean publish = true;
private String moreOptions; private String moreOptions;
@Editable(order=100, description="Optionally specify build path relative to <a href='https://docs.onedev.io/concepts#job-workspace' target='_blank'>job workspace</a>. " @Editable(order=100, description="Optionally specify build path relative to <a href='https://docs.onedev.io/concepts#job-workspace' target='_blank'>job workspace</a>. "
@ -69,6 +71,15 @@ public class BuildImageStep extends Step {
public void setTags(String tags) { public void setTags(String tags) {
this.tags = 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, " + @Editable(order=350, description="Optionally specify additional options to build image, " +
"separated by spaces") "separated by spaces")
@ -89,7 +100,7 @@ public class BuildImageStep extends Step {
@Override @Override
public StepFacade getFacade(Build build, JobExecutor jobExecutor, String jobToken, ParamCombination paramCombination) { 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());
} }
} }

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server</artifactId> <artifactId>server</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<build> <build>
<resources> <resources>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.authenticator.ldap.LdapModule</moduleClass> <moduleClass>io.onedev.server.plugin.authenticator.ldap.LdapModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.buildspec.gradle.GradleModule</moduleClass> <moduleClass>io.onedev.server.plugin.buildspec.gradle.GradleModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.buildspec.maven.MavenModule</moduleClass> <moduleClass>io.onedev.server.plugin.buildspec.maven.MavenModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.buildspec.node.NodePluginModule</moduleClass> <moduleClass>io.onedev.server.plugin.buildspec.node.NodePluginModule</moduleClass>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.executor.kubernetes.KubernetesModule</moduleClass> <moduleClass>io.onedev.server.plugin.executor.kubernetes.KubernetesModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.executor.serverdocker.ServerDockerModule</moduleClass> <moduleClass>io.onedev.server.plugin.executor.serverdocker.ServerDockerModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.executor.servershell.ServerShellModule</moduleClass> <moduleClass>io.onedev.server.plugin.executor.servershell.ServerShellModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.imports.bitbucketcloud.BitbucketModule</moduleClass> <moduleClass>io.onedev.server.plugin.imports.bitbucketcloud.BitbucketModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.imports.gitea.GiteaModule</moduleClass> <moduleClass>io.onedev.server.plugin.imports.gitea.GiteaModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.imports.github.GitHubModule</moduleClass> <moduleClass>io.onedev.server.plugin.imports.github.GitHubModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.imports.gitlab.GitLabModule</moduleClass> <moduleClass>io.onedev.server.plugin.imports.gitlab.GitLabModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.imports.jiracloud.JiraModule</moduleClass> <moduleClass>io.onedev.server.plugin.imports.jiracloud.JiraModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.imports.url.UrlModule</moduleClass> <moduleClass>io.onedev.server.plugin.imports.url.UrlModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.imports.youtrack.YouTrackModule</moduleClass> <moduleClass>io.onedev.server.plugin.imports.youtrack.YouTrackModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.notification.discord.DiscordModule</moduleClass> <moduleClass>io.onedev.server.plugin.notification.discord.DiscordModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.notification.slack.SlackModule</moduleClass> <moduleClass>io.onedev.server.plugin.notification.slack.SlackModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.report.coverage.CoverageModule</moduleClass> <moduleClass>io.onedev.server.plugin.report.coverage.CoverageModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.report.markdown.MarkdownModule</moduleClass> <moduleClass>io.onedev.server.plugin.report.markdown.MarkdownModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.report.problem.ProblemModule</moduleClass> <moduleClass>io.onedev.server.plugin.report.problem.ProblemModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.report.unittest.UnitTestModule</moduleClass> <moduleClass>io.onedev.server.plugin.report.unittest.UnitTestModule</moduleClass>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.sso.discord.DiscordModule</moduleClass> <moduleClass>io.onedev.server.plugin.sso.discord.DiscordModule</moduleClass>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server-plugin</artifactId> <artifactId>server-plugin</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<properties> <properties>
<moduleClass>io.onedev.server.plugin.sso.openid.OpenIdModule</moduleClass> <moduleClass>io.onedev.server.plugin.sso.openid.OpenIdModule</moduleClass>

View File

@ -7,7 +7,7 @@
<parent> <parent>
<groupId>io.onedev</groupId> <groupId>io.onedev</groupId>
<artifactId>server</artifactId> <artifactId>server</artifactId>
<version>8.4.0</version> <version>8.4.1</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>