我在Jenkins有一个管道脚本.
我以前得到这个例外:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:不允许使用方法的脚本groovy.json.JsonSlurperClassic parseText java.lang.String
我查看了异常,我发现了一些迹象表明我应该注释发生异常的方法@NonCPS.我做到了这一点,却没有真正理解这是做什么的.
然而,在那之后,我投入该方法的异常不再被一个try子句捕获.
那背后的想法是@NonCPS什么?使用它有什么影响?
运行 Jenkins 作业时出现以下错误。我已经安装了 MSBuild 15 和 17 并指定了正确的路径。
Can anyone shed some light on this? Where the issue is. Thanks.
(x86)\Jenkins\workspace\POS4> npm install
pos4@1.0.10 install C:\Program Files (x86)\Jenkins\workspace\POS4 node-gyp rebuild
C:\Program Files (x86)\Jenkins\workspace\POS4>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild ) Warning: Missing input files: C:\Program Files (x86)\Jenkins\workspace\POS4\build..\build\Release\binding.node Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. C:\Program Files (x86)\Jenkins\workspace\POS4\build\binding.vcxproj(20,3):
error MSB4019: The imported …
我们正在Jenkins中构建多个管道任务,以便在某些部署作业上更轻松.其中一个需要手动输入几个参数.为此,我们使用这样的输入步骤:
def userInput = input ( message : 'Select deployment versión and input deployment code:',
parameters: [[$class: 'TextParameterDefinition', defaultValue: '', description: 'Clarive code', name: 'code']] )
Run Code Online (Sandbox Code Playgroud)
这些参数是强制性的.我们没有在文档中找到任何会使TextParameterDefinition成为必需的属性.现在我们重新运行该步骤,直到所有参数都不为空,但解决方案对用户来说有点混乱.
是否有另一种方法来处理强制参数,以避免在循环上运行相同的步骤?
在这个linux服务器上,我有一个名为"myuser"的用户.对于这个用户,当回显路径时,我得到这个:
/home/myuser/bin:/home/myuser/.local/bin:/home/myuser/.nvm/versions/node/v6.11.1/bin:/usr/local/sbin:/usr/local/bin:/ usr/sbin目录:在/ usr/bin中:/ sbin目录:/ bin中:在/ usr /游戏:在/ usr /本地/游戏:/卡/箱
拥有节点应用程序,在手动部署时运行:
npm i
Run Code Online (Sandbox Code Playgroud)
它有效.
现在,我安装了詹金斯.我正在尝试安装的Jenkins项目位于:
/var/lib/jenkins/workspace/test
Run Code Online (Sandbox Code Playgroud)
构建正在执行shell脚本.在那个窗口我输入了:
#!/bin/bash
npm i
Run Code Online (Sandbox Code Playgroud)
与Jenkins一起构建时,我得到了这个:
[test] $ /bin/bash /tmp/jenkins756533162549346948.sh
/tmp/jenkins756533162549346948.sh: line 3: npm: command not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE
Run Code Online (Sandbox Code Playgroud)
如果我只写:
echo $PATH
Run Code Online (Sandbox Code Playgroud)
在Jenkins shell中,我得到了这个:
[test] $ /bin/sh -xe /tmp/jenkins5067097808572366507.sh
+ echo /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
[test] $ /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/6.11.1/bin/node /tmp/jenkins8733250738704177758.js
Finished: SUCCESS
Run Code Online (Sandbox Code Playgroud)
如您所见,我安装了nodejs插件.无论如何,当使用Jenkins shell时,找不到npm和even节点.如何让Jenkins知道npm/node在哪里?我试着先在shell中写这个:
$ PATH = /家/ myuser的/ .nvm /版本/节点/ v6.11.1 /箱
但仍然没有运气.
我试图在Jenkins部署期间运行我的Jest测试.如果我进入服务器,我可以sudo到Jenkins用户并成功运行工作区中的测试.但是,当我尝试从GUI构建项目时出现错误.这是我的项目设置:
我已经安装了nodejs插件,后者又在全局安装了gulp,jest-cli和babel.

然后在构建步骤中:
测试失败,出现此错误:
TypeError: Cannot read property 'getResourceByPath' of null
at Loader.getDependenciesFromPath (/var/lib/jenkins/workspace/PHPStaging/node_modules/jest-cli/src/HasteModuleLoader/HasteModuleLoader.js:570:39)
at /var/lib/jenkins/workspace/PHPStaging/node_modules/jest-cli/src/TestRunner.js:250:22
at process._tickCallback (node.js:368:9)
Running 6 test suites...
FAIL resources/__tests__/myTest.js
Run Code Online (Sandbox Code Playgroud)
似乎Node在测试中需要模块时遇到问题,但我并不完全确定.任何帮助或方向将不胜感激.
我正在尝试转换我们可以从iOS设备检索的视频网址,并将其转换为离子3中的BASE64,但我无法实现BASE64网址.
iOS视频网址:filePath = /var/mobile/Containers/Data/Application/3436A7EB-4684-4618-8125-3E6AE1645FCE/Documents/MUS_RA/1534429730643_capturedvideo.MOV
我尝试使用BASE64 cordova插件将以下代码转换为BASE64,但没有运气
this.base64.encodeFile(filePath)
.then((base64String: string) => {
console.log("base64VideoChange");
resolve(base64String);
}, (err) => {
console.log("base64VideoNOTChange");
reject(err);
});
Run Code Online (Sandbox Code Playgroud)
注意:我使用离子3.请帮忙.
我们已经使用git-flow了一段时间来开发软件框架.我们在一个存储库中有master和development分支.
最近,不同的客户开始对购买框架感兴趣,这需要为每个客户定制框架.
到目前为止,我们feature-customerXYZ从主服务器为每个客户分支了一个新分支,在那里进行了自定义并在自定义完成后保持分支打开(这可以防止产品master/ development分支的"感染" 来自定制).
与此相对应,在框架本身的发展继续使用该产品通常混帐流工作流程master,development,features,hotfixes和release分支机构.
在这种情况下发生了两种常见的情况,我认为我们的工作流程无法以最佳方式处理:
feature-customerXYZ分支的开发可以包含值得在产品master/ development分支中实现的提交.由于feature-customerXYZ分支永远不会被关闭,因此这些提交必须是rebased或者cherrypicked是产品分支,这需要在定制之后进行额外的工作并且容易出错.
在feature-customer分支打开时发现的修补程序git-flow通过将hotfix修复后的已打开分支仅合并到产品master和development分支来处理,但不会合并到打开的feature-customer分支中(更准确地说:它们不会合并到所有打开的feature分支中).
是否有一个git工作流可以简洁地处理这个?是否有一个聪明的替代,而不是merge,cherrypick或rebase的提交到产品master/ develop或开feature分店,分别?
在 Linux 服务器上安装了 Jenkins,想手动安装一些插件。
我想安装 Blue Ocean 和 Artifactory。
对于这两个插件,我都下载了 hpi 文件并尝试安装它,但是我遇到了很多依赖项错误。
我现在是否也必须手动安装这些依赖项?或者有更好的方法来做到这一点?
我尝试安装这些依赖项之一,并且该依赖项也有一些依赖项错误:-(
Linux 服务器无法访问 Internet。
谢谢!
罗伯特
我在虚拟操作系统上安装了Jenkins.每当我启动Jenkins服务时,物理内存都会达到94%.然后它永远不会减少.所以我的系统变得非常缓慢且没有反应.结果Jenkins网页变得缓慢.我为RAM分配了4GB.有没有办法加快我的机器限制詹金斯的内存使用?
我从像这样的jenkins指令构建了一个Jenkins码头工人:
docker run -u root --rm -d -p 8080:8080 -p 50000:50000 -v /root/.ssh/id_rsa:/root/.ssh/id_rsa -v jenkins-home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
Run Code Online (Sandbox Code Playgroud)
它按我的预期工作。
然后,我设置了一个新的Pipeline作业,即Jenkinsfile,如下所示:
pipeline {
agent {
docker {
image 'maven:3-alpine'
args '-v /root/.m2:/root/.m2'
}
}
stages {
stage('Build') {
steps {
sh 'mvn -B -DskipTests clean package'
}
}
stage('Test') {
steps {
echo "Testing!"
}
}
stage('Deploy') {
steps {
sh "ssh docker@192.168.99.101 rm -rf /home/docker/wildfly_deployments/*"
sh "scp target/test-docker-app-1.0.war docker@192.168.99.101:/home/docker/wildfly_deployments/"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行此作业时,在“部署”阶段,它向我显示此错误消息
[test-docker-app] Running shell script
+ ssh …Run Code Online (Sandbox Code Playgroud) jenkins ×8
node.js ×3
npm ×2
angular ×1
artifactory ×1
base64 ×1
docker ×1
git ×1
git-flow ×1
git-rebase ×1
groovy ×1
ionic3 ×1
javascript ×1
jestjs ×1
linux ×1
msbuild ×1
npm-install ×1
plugins ×1
scp ×1
ssh ×1