2015-10-16 70 views
1

我試圖尋找一個詹金斯插件(如AWS codeDeploy),這樣我可以部署應用到Kubernetes集羣。到目前爲止,我已經成功將它推送到Docker註冊表,並添加了一些命令行構建步驟以部署到Kubernetes。 望着CloudBees的公告,這似乎可能 http://blog.cloudbees.com/2015/07/orchestrating-deployments-with-jenkins.html如何通過詹金斯運行上Kubernetes應用構建/後生成步驟

安裝Kubernetes插件給我的錯誤......我可以附上截圖是否有幫助? 也好像這個插件可以讓你在運行多克奴隸容器不能部署自己的應用程序。

在看這個視頻https://www.youtube.com/watch?v=PFCSSiT-UUQ 之後,似乎我可以用「withKubernetes」工作流程階段完成這一 ...

但是補充說,行到我的工作流程腳本給我下面的錯誤

java.lang.NoSuchMethodError:未找到這樣的DSL方法withKubernetes中[存檔,蝙蝠,構建,catchError,結賬,DIR,dockerFingerprintFrom,dockerFingerprintRun,回聲,錯誤,FILEEXISTS,GIT中,輸入,負荷,郵件,節點,並行,publishHTML, PWD,READFILE,重試,SH,睡眠,階段,藏匿,步驟,SVN,超時,工具,取消歸檔,unstash,最好推遲,與DockerContainer,withDockerRegistry,withDockerServer,withEnv,wrap,writeFile,ws] org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:107) at org.jenkinsci.plugins.workflow.cps.CpsScript。的InvokeMethod(CpsScript.java:112) 在groovy.lang.GroovyObject $ invokeMethod.call(來源不明) 在org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) 在org.codehaus .groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) 在org.kohsuke.groovy.sandbox.impl.Checker $ 1.call(Checker.java:151) 在org.kohsuke.groovy.sandbox。 GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21) 在org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor的.java:75) 在org.kohsuke.groovy.sandbox.impl.Checker $ 1.call(Checker.java:149) 在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) 在Unknown.Unknown(未知) 在cps.transform(本機方法) 在com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:69) 在COM .cloudbees.groovy.cps.impl.FunctionCallBlock $ ContinuationImpl.dispatchOrArg(F unctionCallBlock.java:106) 在com.cloudbees.groovy.cps.impl.FunctionCallBlock $ ContinuationImpl.fixArg(FunctionCallBlock.java:79) 在sun.reflect.GeneratedMethodAccessor290.invoke(來源不明) 在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) 在org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access $ 001(SandboxCo ntinuable.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) 在org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30) 在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.cal L(CpsThreadGroup.java:178) 在org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService $ 2.call(CpsVmExecutorService.java:47) 在java.util.concurrent.FutureTask.run(FutureTask.java:262) 在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) 在java.util.concurrent.FutureTask.run(FutureTask.java:262) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在java.util.concurrent.ThreadPoolExecutor中的$工人.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:7 45)

+1

我結束了使用bash命令以及將構建從Jenkins推到k8s。好奇你是否使用了模板參數的滾動更新?我不確定它的用途,但它聽起來像我可以給它一個Go模板,並可能用最後一次構建的信息替換版本或任何其他佔位符。我還必須編寫bash來提取當前活動的rc名稱以執行滾動更新。充其量是最壞的。 –

回答