From 1cb950500133a1ea1e1cd8ac18bfd6ad61436510 Mon Sep 17 00:00:00 2001 From: Marcelo Bartsch <49187416+marcelobartsch@users.noreply.github.com> Date: Tue, 23 Apr 2019 15:15:53 +0200 Subject: [PATCH 1/7] add option to change the default jenkins-agent to other name. --- .../jenkins/codebuilder/CodeBuilderCloud.java | 27 +++++++++++++++++++ .../codebuilder/CodeBuilderLauncher.java | 4 +-- .../codebuilder/CodeBuilderCloud/config.jelly | 4 +++ 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/main/java/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud.java b/src/main/java/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud.java index e65ed56..39ba04f 100644 --- a/src/main/java/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud.java +++ b/src/main/java/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud.java @@ -57,6 +57,7 @@ public class CodeBuilderCloud extends Cloud { private static final Logger LOGGER = LoggerFactory.getLogger(CodeBuilderCloud.class); private static final String DEFAULT_JNLP_IMAGE = "lsegal/jnlp-docker-agent:alpine"; + private static final String DEFAULT_JNLP_COMMAND = "jenkins-agent"; private static final int DEFAULT_AGENT_TIMEOUT = 120; private static final String DEFAULT_COMPUTE_TYPE = "BUILD_GENERAL1_SMALL"; @@ -77,6 +78,7 @@ public class CodeBuilderCloud extends Cloud { private String computeType; private String jenkinsUrl; private String jnlpImage; + private String jnlpCommand; private int agentTimeout; private transient AWSCodeBuild client; @@ -217,6 +219,27 @@ public void setJenkinsUrl(String jenkinsUrl) { this.jenkinsUrl = jenkinsUrl; } + /** + * Getter for the field jnlpCommand. + * + * @return a {@link String} object. + */ + @Nonnull + public String getJnlpCommand() { + return StringUtils.isBlank(jnlpCommand) ? DEFAULT_JNLP_COMMAND : jnlpCommand; + } + + /** + * Setter for the field jnlpCommand. + * + * @param jnlpCommand a {@link String} object. + */ + @DataBoundSetter + public void setJnlpCommand(String jnlpCommand) { + this.jnlpCommand = jnlpCommand; + } + + /** * Getter for the field jnlpImage. * @@ -400,6 +423,10 @@ public String getDefaultJnlpImage() { return DEFAULT_JNLP_IMAGE; } + public String getDefaultJnlpCommand() { + return DEFAULT_JNLP_COMMAND; + } + public int getDefaultAgentTimeout() { return DEFAULT_AGENT_TIMEOUT; } diff --git a/src/main/java/dev/lsegal/jenkins/codebuilder/CodeBuilderLauncher.java b/src/main/java/dev/lsegal/jenkins/codebuilder/CodeBuilderLauncher.java index be856db..34a9609 100644 --- a/src/main/java/dev/lsegal/jenkins/codebuilder/CodeBuilderLauncher.java +++ b/src/main/java/dev/lsegal/jenkins/codebuilder/CodeBuilderLauncher.java @@ -113,8 +113,8 @@ private String buildspec(@Nonnull SlaveComputer computer) { if (n == null) { return ""; } - String cmd = String.format("jenkins-agent -noreconnect -workDir \"$CODEBUILD_SRC_DIR\" -url \"%s\" \"%s\" \"%s\"", - cloud.getJenkinsUrl(), computer.getJnlpMac(), n.getDisplayName()); + String cmd = String.format("%s -noreconnect -workDir \"$CODEBUILD_SRC_DIR\" -url \"%s\" \"%s\" \"%s\"", + cloud.getJnlpCommand(), cloud.getJenkinsUrl(), computer.getJnlpMac(), n.getDisplayName()); StringBuilder builder = new StringBuilder(); builder.append("version: 0.2\n"); builder.append("phases:\n"); diff --git a/src/main/resources/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud/config.jelly b/src/main/resources/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud/config.jelly index d7625dd..c397bd3 100644 --- a/src/main/resources/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud/config.jelly +++ b/src/main/resources/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud/config.jelly @@ -34,6 +34,10 @@ + + + + From 5b9ade38cc2bcba92134c38e452ba8cc11277df1 Mon Sep 17 00:00:00 2001 From: Marcelo Bartsch <49187416+marcelobartsch@users.noreply.github.com> Date: Thu, 30 May 2019 09:21:09 +0200 Subject: [PATCH 2/7] missing select name cause that change to the computeType is not saved --- .../lsegal/jenkins/codebuilder/CodeBuilderCloud/config.jelly | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud/config.jelly b/src/main/resources/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud/config.jelly index d7625dd..75c09fd 100644 --- a/src/main/resources/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud/config.jelly +++ b/src/main/resources/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud/config.jelly @@ -18,7 +18,7 @@ - From 14e958480a318fd949a7034b40a1df07429c4f01 Mon Sep 17 00:00:00 2001 From: Marcelo Bartsch <49187416+marcelobartsch@users.noreply.github.com> Date: Thu, 30 May 2019 09:45:03 +0200 Subject: [PATCH 3/7] fix config.jelly --- .../jenkins/codebuilder/CodeBuilderCloud/config.jelly | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/resources/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud/config.jelly b/src/main/resources/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud/config.jelly index 75c09fd..cdd0ca5 100644 --- a/src/main/resources/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud/config.jelly +++ b/src/main/resources/dev/lsegal/jenkins/codebuilder/CodeBuilderCloud/config.jelly @@ -19,9 +19,9 @@ From 95bc3bcb021c4f0cb7207c1f488a068389b98cff Mon Sep 17 00:00:00 2001 From: based2 Date: Sat, 1 Jun 2019 20:17:42 +0200 Subject: [PATCH 4/7] update org.jenkins-ci.plugins/plugin from 3.25 to 3.43 https://mvnrepository.com/artifact/org.jenkins-ci.plugins/plugin?repo=jenkins-releases https://github.com/jenkinsci/plugin-pom/releases https://github.com/jenkinsci/plugin-pom --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e9ee19a..31e4825 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.jenkins-ci.plugins plugin - 3.25 + 3.43 From 193e943bf8813a0ec7f3dae43c09b462aae7917b Mon Sep 17 00:00:00 2001 From: Daniel Beck Date: Wed, 30 Oct 2019 13:25:42 +0100 Subject: [PATCH 5/7] Use HTTPS URLs in pom.xml --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index e9ee19a..c65e40c 100644 --- a/pom.xml +++ b/pom.xml @@ -46,24 +46,24 @@ repo.jenkins-ci.org - http://repo.jenkins-ci.org/public/ + https://repo.jenkins-ci.org/public/ repo.jenkins-ci.org - http://repo.jenkins-ci.org/public/ + https://repo.jenkins-ci.org/public/ repo.jenkins-ci.org - http://repo.jenkins-ci.org/releases/ + https://repo.jenkins-ci.org/releases/ repo.jenkins-ci.org - http://repo.jenkins-ci.org/snapshots + https://repo.jenkins-ci.org/snapshots From 60f8ab253d3757b682320505642b669d58c2a4e6 Mon Sep 17 00:00:00 2001 From: Loren Segal Date: Fri, 1 May 2020 19:56:30 -0700 Subject: [PATCH 6/7] Fix test failure --- .../dev/lsegal/jenkins/codebuilder/CodeBuilderCloudTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/dev/lsegal/jenkins/codebuilder/CodeBuilderCloudTest.java b/src/test/java/dev/lsegal/jenkins/codebuilder/CodeBuilderCloudTest.java index 2717834..76ca36f 100644 --- a/src/test/java/dev/lsegal/jenkins/codebuilder/CodeBuilderCloudTest.java +++ b/src/test/java/dev/lsegal/jenkins/codebuilder/CodeBuilderCloudTest.java @@ -13,7 +13,7 @@ public class CodeBuilderCloudTest { @Test public void initializes_correctly() throws InterruptedException { - CodeBuilderCloud cloud = new CodeBuilderCloud(null, "project", null, null); + CodeBuilderCloud cloud = new CodeBuilderCloud(null, "project", null, "us-west-2"); assertEquals("project", cloud.getProjectName()); assertEquals("codebuilder_0", cloud.getDisplayName()); assertNotNull(cloud.getClient()); From 09e91e67ebf116ff76b557dd4aaa98bdfbbdfd6e Mon Sep 17 00:00:00 2001 From: nash-s24 <59438641+nash-s24@users.noreply.github.com> Date: Mon, 18 May 2020 11:14:45 +0200 Subject: [PATCH 7/7] Remove extra space from PolicyDocument The extra space make running this command fail. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 853c132..09dc5db 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ commands below: aws iam create-role \ --role-name jenkins-default \ --assume-role-policy-document \ - '{"Version":"2012-10-17 ","Statement":[{"Effect": "Allow","Principal":{"Service":"codebuild.amazonaws.com"},"Action":"sts:AssumeRole"}]}' + '{"Version":"2012-10-17","Statement":[{"Effect": "Allow","Principal":{"Service":"codebuild.amazonaws.com"},"Action":"sts:AssumeRole"}]}' # Create the project named "jenkins-cluster" using our service role aws codebuild create-project \