我从http://jenkins-ci.org/content/thank-you-downloading-windows-installer下载了"jenkins-1.501.zip" .
我已经提取了zip文件并成功在Windows 7上安装了Jenkins.詹金斯跑得http://localhost:8080/很好.我想从控制台停止Jenkins服务.我怎样才能做到这一点?通过控制台/命令行启动和重启的方法是什么?
我在Jenkins有一个管道脚本.
我以前得到这个例外:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:不允许使用方法的脚本groovy.json.JsonSlurperClassic parseText java.lang.String
我查看了异常,我发现了一些迹象表明我应该注释发生异常的方法@NonCPS.我做到了这一点,却没有真正理解这是做什么的.
然而,在那之后,我投入该方法的异常不再被一个try子句捕获.
那背后的想法是@NonCPS什么?使用它有什么影响?
我在OSX上安装了Jenkins可执行文件,但现在我想阻止它运行.每当我杀了它,无论如何,它都会立即重启.
我已经尝试在jenkins网址上使用exit命令:
http://localhost:8080/exit
Run Code Online (Sandbox Code Playgroud)
它要求我发布命令,我这样做,服务器按要求关闭.但随后重启.
我已尝试使用搜索进程ID ps,并强制终止它(kill -9 pid),服务器立即按要求关闭.但随后重启.
我试过通过gui关闭它,但不幸的是似乎没有办法做到这一点.
某处必须有一个守护进程,这使得这是一个一般的OSX问题.
我正在尝试创建一个声明性的Jenkins管道脚本,但是遇到了简单变量声明的问题.
这是我的脚本:
pipeline {
agent none
stages {
stage("first") {
def foo = "foo" // fails with "WorkflowScript: 5: Expected a step @ line 5, column 13."
sh "echo ${foo}"
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 5: Expected a step @ line 5, column 13.
def foo = "foo"
^
Run Code Online (Sandbox Code Playgroud)
我在Jenkins 2.7.4和Pipeline 2.4上.
鉴于jenkins 2.1构建管道,jenkins将一个env变量注入到node{}.例如,BRANCH_NAME可以使用
node {
echo ${env.BRANCH_NAME}
...
Run Code Online (Sandbox Code Playgroud)
env属性.我正在寻找像这样的代码
node {
for(e in env){
echo e + " is " + ${e}
}
...
Run Code Online (Sandbox Code Playgroud)
这会像回应一样
BRANCH_NAME is myBranch2
CHANGE_ID is 44
...
Run Code Online (Sandbox Code Playgroud) 这并不像只进行参数化构建那么简单.我已经有了一个特定的构建过程,只要将任何这些分支推送到GitHub,它就会构建和部署:
所以,如果我只是推动develop并成功构建,我该如何触发手动构建并将其拉出feature/my-new-feature(不做git push)?我尝试启用参数化构建,添加一个名为的新字符串branch,然后添加一个新的分支说明符,*/$branch.然后我运行了一个构建并设置branch为feature/my-new-feature仍然从中拉出来develop.
我很感激任何帮助!
我正在尝试将旧式项目基础工作流转换为基于Jenkins的管道.在浏览文档时,我发现有两种不同的语法命名scripted和declarative.比如declarative最近的Jenkins web 语法发布(2016年底).虽然有一个新的语法版本,但Jenkins仍然支持脚本语法.
现在,我不确定这两种类型中哪一种最适合.scripted语法很快就会被弃用?那么declarativeJenkins管道的未来会是什么?
任何可以分享关于这两种语法类型的想法的人.
我已经安装了jenkins,我正试图进入一个shell作为Jenkins来添加一个ssh密钥.我似乎无法进入jenkins用户:
[root@pacmandev /]# sudo su jenkins
[root@pacmandev /]# whoami
root
[root@pacmandev /]# echo $USER
root
[root@pacmandev /]#
Run Code Online (Sandbox Code Playgroud)
jenkins用户存在于我的/ etc/passwd文件中.Runnin su jenkins要求输入密码,但拒绝我的普通密码.sudo su jenkins好像什么也没做; 同样的sudo su - jenkins.我在CentOS上.
我正在使用Jenkins 2来编译Java项目,我想从pom.xml中读取该版本,我遵循这个例子:
https://github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md
这个例子表明:
似乎访问文件系统存在一些安全问题,但我无法弄清楚它给出了什么(或为什么)这个问题:
我只是做了一个与示例有点不同的事情:
def version() {
String path = pwd();
def matcher = readFile("${path}/pom.xml") =~ '<version>(.+)</version>'
return matcher ? matcher[0][1] : null
}
Run Code Online (Sandbox Code Playgroud)
我在运行'version'方法时遇到的错误:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.lang.GroovyObject invokeMethod java.lang.String java.lang.Object (org.codehaus.groovy.runtime.GStringImpl call org.codehaus.groovy.runtime.GStringImpl)
at org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist.rejectMethod(StaticWhitelist.java:165)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:117)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:103)
at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146)
at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:15)
at WorkflowScript.run(WorkflowScript:71)
at ___cps.transform___(Native Method)
at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:55)
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.GeneratedMethodAccessor408.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:100)
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:79)
at sun.reflect.GeneratedMethodAccessor408.invoke(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 我一直在处理在我的公司扩展CI的问题,同时试图找出在CI和多个分支机构中采取哪种方法.stackoverflow,多个功能分支和持续集成有类似的问题.我已经开始了一个新的,因为我想进一步讨论并在问题中提供一些分析.
到目前为止,我发现我可以采取两种主要方法(或者其他一些方法).
所以,如果我想为他们自己的自定义分支提供开发人员,我需要Jenkins的特殊工具(API或shellcripts或其他什么?)并处理扩展.或者我可以告诉他们更频繁地合并到DEV并且在自定义分支上没有CI.您会选择哪一个或有其他选择?