如何在Jenkinsfile中指定类似下面的内容?
当分支不是x
我知道如何指定分支特定的任务,如:
stage('Master Branch Tasks') {
when {
branch "master"
}
steps {
sh '''#!/bin/bash -l
Do some stuff here
'''
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我想指定分支不是主分区或分段的阶段,如下所示:
stage('Example') {
if (env.BRANCH_NAME != 'master' && env.BRANCH_NAME != 'staging') {
echo 'This is not master or staging'
} else {
echo 'things and stuff'
}
}
Run Code Online (Sandbox Code Playgroud)
但是,上述操作无效,并且失败并出现以下错误:
WorkflowScript: 62: Not a valid stage section definition: "if
WorkflowScript: 62: Nothing to execute within stage "Example"
Run Code Online (Sandbox Code Playgroud)
注意我失败的尝试来源:https://jenkins.io/doc/book/pipeline/syntax/#flow-control
我在使用java在Selenium中找到span元素时遇到了麻烦.
HTML看起来像:
<div class="settings-padding">
<span>Settings</span>
</div>Run Code Online (Sandbox Code Playgroud)
而且我尝试了下面没有运气:
By.xpath("span[.='Settings']")
Run Code Online (Sandbox Code Playgroud)
和
By.xpath("span[text()='Settings']")
Run Code Online (Sandbox Code Playgroud)
和
By.cssSelector("div[class='settings-padding']"))
Run Code Online (Sandbox Code Playgroud)
以及其他一些类似的尝试.你能指点我做最好的方法吗?在它看来我经常在eclipse中得到"无法找到元素"错误.
当前,每次我启动终端时,都会收到以下提示:
上次登录:ttys000上的11月28日星期一21:32:16
代理pid 2733
输入/Users/my_name/.ssh/id_rsa的密码:
您能指导我如何避免每次都要输入密码吗?
我遇到了:
错误:父目录是全局可写但不粘
在尝试时:
brew install yarn
错误:父目录是世界可写但不粘的
请报告此错误:
https://github.com/Linuxbrew/brew/blob/master/docs/Troubleshooting.md#troubleshooting
/var/lib/jenkins/.linuxbrew/Library/ Homebrew/vendor/portable-ruby/2.0.0-p648/lib/ruby/2.0.0/tmpdir.rb:92:in,mktmpdir'
有谁知道如何解决这个问题?
我的bash脚本中有一个if语句,如下所示:
if [[ eb status my-env-staging-worker | grep 'Green' -ne 0 ] || [ eb status my-env-staging-web | grep 'Green' -ne 0 ]]
Run Code Online (Sandbox Code Playgroud)
基本上如果第一个或第二个eb status命令没有字符串Green我想执行其他一些东西.
但是我得到以下错误:
状态脚本附近的条件二元运算符预期语法错误返回退出代码2
你能告诉我什么错了吗?
我有一个像这样的命令:
bin/deploy staging --profile my_profile | grep 'UploadError'
Run Code Online (Sandbox Code Playgroud)
通常
bin/deploy staging --profile my_profile
Run Code Online (Sandbox Code Playgroud)
打印许多日志行到控制台,但是当执行 grep 时,所有内容都会被静音。是否有一个标志可以用来取消日志输出的静音?
基本上打印出命令通常打印到控制台的内容并执行 grep。
grep 的目的是我有一些逻辑来处理部署期间的上传错误。我想打印完整输出的原因是我想查看部署期间发生的情况而不是抑制日志。
目前,如果 grep 找不到字符串,则不会打印任何内容。如果它执行类似以下操作,则会打印:
[web] UploadError
[worker] UploadError
Run Code Online (Sandbox Code Playgroud)
如果我删除 grep 命令,类似以下内容将打印到控制台:
[web] INFO: Uploading archive to s3 location: my-app/app-27b50-
170829_133831-stage-170829_133831.zip
[web] INFO: Creating AppVersion app-27b50-170829_133831-stage-
170829_133831
[web] WARNING: Deploying a previously deployed commit.
[web] Uploading my-app/app-27b50-170829_133831-stage-
170829_133831.zip to S3. This may take a while.
[web] Upload Complete.
Run Code Online (Sandbox Code Playgroud)
所以我想做的是执行 grep,无论是否找到字符串,也将原始命令的输出打印到控制台。