当前位置: 首页 > 知识库问答 >
问题:

如何通过 Jenkins 构建/后期构建步骤在 Kubernetes 上运行您的应用

常炯
2023-03-14

我试图寻找一个Jenkins插件(比如AWS codeDeploy ),这样我就可以将我的应用程序部署到Kubernetes集群上。到目前为止,我已经成功地将其推送到Docker注册中心,并添加了一些命令行构建步骤来部署到Kubernetes。看看CloudBees的公告,这似乎是可能的

安装 Kubernetes 插件给了我错误...如果有帮助,我可以附上屏幕截图...此外,此插件似乎允许您在Docker容器中运行从属程序,而无需部署自己的应用程序。

看完这个视频后,我似乎可以使用< code>withKubernetes工作流阶段来完成这个任务...

但是,将该行添加到工作流脚本中会出现以下错误:

java.lang.NoSuchMethodError: No such DSL method withKubernetes found among [archive, bat, build, catchError, checkout, dir, dockerFingerprintFrom, dockerFingerprintRun, echo, error, fileExists, git, input, load, mail, node, parallel, publishHTML, pwd, readFile, retry, sh, sleep, stage, stash, step, svn, timeout, tool, unarchive, unstash, waitUntil, withDockerContainer, withDockerRegistry, withDockerServer, withEnv, wrap, writeFile, ws]
    at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:107)
    at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:112)
    at groovy.lang.GroovyObject$invokeMethod.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
    at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:151)
    at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:75)
    at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:123)
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:15)
    at WorkflowScript.run(WorkflowScript:17)
    at Unknown.Unknown(Unknown)
    at ___cps.transform___(Native Method)
    at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:69)
    at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:106)
    at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:79)
    at sun.reflect.GeneratedMethodAccessor290.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
    at com.cloudbees.groovy.cps.impl.ClosureBlock.eval(ClosureBlock.java:40)
    at com.cloudbees.groovy.cps.Next.step(Next.java:58)
    at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:145)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:19)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:106)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30)
    at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:164)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:271)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$000(CpsThreadGroup.java:71)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:180)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:178)
    at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:47)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
    at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

共有1个答案

仲孙夕
2023-03-14

Jenkins库伯内特斯插件(到目前为止)只是在库伯内特斯集群中动态运行奴隶

从 Jenkins 部署到 Kubernetes 并没有太多内容,也许这篇文章在 OpenShift 上使用 Fabric8 和 Jenkins 的持续交付管道会有所帮助。

 类似资料:
  • 问题内容: 我想要一个Jenkins构建步骤,该步骤只是将给定的URL下载到工作区中。有没有简单的方法可以做到这一点? (我目前使用一个简单的Ant脚本。但这意味着我需要将该脚本放在SVN中的某个位置,并在构建期间进行检查。我觉得很麻烦。) 更新: 澄清一下,我想下载一个URL,而无需在构建系统上安装其他软件或使用其他脚本。(当然,可以使用Jenkins插件。)优选地,我不想依赖于Linux,Wi

  • 问题内容: 我使用sdk-manager-plugin下载我的Android依赖项。不幸的是,由于“首次下载”问题(#47 #10),我的Jenkins CI构建经常失败。 我听说人们通过两次构建代码来解决此问题,因此,如果第一次失败,则第二次通过。 我们尝试使用条件步骤在Jenkins中进行设置(以下屏幕截图),但是如果第一步失败,它仍然会导致整个CI作业失败。 有人可以推荐设置此设置的最佳方法

  • 问题内容: 当go build不够而又需要与go build一起运行额外的命令时该怎么办?Go工具是否包含此用例?如果是这样,惯例是什么? 我注意到可以通过以下方式传递额外的标志来构建工具: 是否有可能运行额外的命令或至少告诉go build使用Makefile? 问题答案: 否。go工具并非旨在用作通用构建系统。对cgo有一些规定(例如pkg-config),但是它不可扩展。 在go1.4中将有

  • 问题内容: 我想用詹金斯建立一个Maven项目。但是,只有在SVN储存库中的某个文件已更改(并且包含特殊密钥)的情况下,才必须构建项目。 所以我的计划是创建一个包含两个构建步骤的工作: 第一步是执行检查该“条件”的shell或python脚本。 第二步是实际的Maven构建 仅当步骤1中的条件检查返回“ true”时,才必须调用第二步。 有可能这样做吗?好吧,我想如果不满足条件,我可以在第一个脚本

  • 遵循下面的引导,在 Linux 上构建 Electron . Prerequisites Python 2.7.x. 一些发行版如 CentOS 仍然使用 Python 2.6.x ,所以或许需要 check 你的 Python 版本,使用 python -V. Node.js v0.12.x. 有很多方法来安装 Node. 可以从 Node.js下载原文件并且编译它 .也可以作为一个标准的用户在

  • 遵循下面的引导,在 Windows 上构建 Electron . 前提 Windows 7 / Server 2008 R2 or higher Visual Studio 2013 with Update 4 - download VS 2013 Community Edition for free. Python 2.7 Node.js Git 如果你现在还没有安装 Windows , mod