小编Ale*_*lex的帖子

Groovy:这里没有预期的方法定义

我确信这是一个简单的修复,但我是一般的编程和Groovy的新手.

我试图按照本指南在Jenkins 2管道作业中启用松弛通知,但粘贴和自定义最终代码块会给我以下错误;

Method definition not expected here. Please define the method at an appropriate place or perhaps try using a block/Closure instead.
Run Code Online (Sandbox Code Playgroud)

这是我现在的代码,虽然我已经用一些代替了安全性.错误发生在该def notifyBuild(String buildStatus = 'STARTED') {行.

node('on-demand-t2large'){
    stage ('Checkout') {
        checkout( checkout stuff here )
    }

    stage ('Build') {
        try {
            notifyBuild('STARTED')

            dir("place") {
                sh 'script name'
            } 
        }
        catch (e) {
            // If there was an exception thrown, the build failed
            currentBuild.result = "FAILED"
            throw e
        } 
        finally {
            // Success or …
Run Code Online (Sandbox Code Playgroud)

groovy slack jenkins-pipeline

18
推荐指数
2
解决办法
2万
查看次数

由于正在创建@tmp路径,Jenkins管道作业找不到脚本

我正在编写一个管道作业,它将调用另一个脚本来执行.Jenkins文件和脚本存在于同一目录中,但作业无法找到要运行的脚本.

这是脚本的相关部分;

stage ('Update') {
    try {
        dir('jenkins/pipeline/update-jenkins-plugins-ppln') {
            sh 'ls -l'
            sh 'update-plugins.sh'
        }
}
Run Code Online (Sandbox Code Playgroud)

返回以下错误;

[update-jenkins-plugins-ppln] Running shell script
+ ls -l
total 8
-rw-r--r-- 1 jenkins jenkins 2441 Dec 20 09:34 Jenkinsfile
-rwxr-xr-x 1 jenkins jenkins  506 Dec 19 14:06 update-plugins.sh
[Pipeline] sh
[update-jenkins-plugins-ppln] Running shell script
+ update-plugins.sh
/var/lib/jenkins/workspace/update-jenkins-plugins-ppln/jenkins/pipeline/update-jenkins-plugins-ppln@tmp/durable-11cefdd0/script.sh: 2: /var/lib/jenkins/workspace/update-jenkins-plugins-ppln/jenkins/pipeline/update-jenkins-plugins-ppln@tmp/durable-11cefdd0/script.sh: update-plugins.sh: not found
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在使用的路径是正确的,因为根据ls我需要的文件update-plugins.sh位于我已经修改过的目录中.但出于某种原因,当实际搜索脚本时,Jenkins正在添加@tmp/durable-8d48734f/script.sh到路径上.

各种故障排除

  • 我读到你必须再次检查分支,即使你已经检查出来获取Jenkinsfile,所以我是.
  • 我已经进入Jenkins框进行检查,是的,脚本就在那里.

为什么Jenkins添加@tmp位,有没有办法防止这种行为?

git bash groovy jenkins

14
推荐指数
1
解决办法
1万
查看次数

使用变量将JSON直接存储在bash脚本中?

我将在序言中说"不,找到一种不同的方式去做"这是一个可以接受的答案.

是否有一种可靠的方法可以在bash变量中存储一小段JSON,以便在从同一脚本运行的AWS CLI命令中使用?

我将从Jenkins运行一个正在更新AWS Route53记录的工作,该记录需要UPSERT一个带有记录更改的JSON文件.因为它是从Jenkins运行的,所以我没有本地存储可以保存这个文件,而且我真的很想避免每次运行这个项目时都需要进行git checkout(这将是每小时一次).

理想情况下,将数据存储在variable($foo)中并将其作为change-resource-record-sets命令的一部分进行调用将是最方便的,因为Jenkins设置,但我不熟悉如何在bash中引用/存储JSON - 它可以安全地完成吗?

在这种情况下,具体的JSON如下;

{"Comment":"Update DNSName.","Changes":[{"Action":"UPSERT","ResourceRecordSet":{"Name":"alex.","Type":"A","AliasTarget":{"HostedZoneId":"######","DNSName":"$bar","EvaluateTargetHealth":false}}}]}
Run Code Online (Sandbox Code Playgroud)

作为一个额外的复杂功能,DNSName值$bar- 需要扩展.

bash json

11
推荐指数
2
解决办法
3万
查看次数

AWS CLI:ECR列表图像,获取最新版本

如果需要,使用AWS CLI和jq,我正在尝试在特定仓库中获取最新图像的标记.

让我们调用回购foo,并说最新的图像被标记bar.我用什么查询返回bar

我得到了

aws ecr list-images --repository-name foo
Run Code Online (Sandbox Code Playgroud)

然后意识到列表图像文档没有提供日期作为可查询字段的引用.在终端中粘贴以上内容为我提供了仅包含标签和摘要的密钥对,没有日期.

还有一些方法可以获得"最新"的图像吗?我可以假设它将永远是返回输出中的第一个或最后一个吗?

amazon-ec2 amazon-web-services aws-cli

8
推荐指数
4
解决办法
9594
查看次数

groovy脚本 - sh变量

缺少明显的东西.如何将groovy脚本中的变量传递给shell命令?如果对语法很重要,这是在Jenkinsfile的上下文中.

def COLOR

node('nodename'){

    stage ('color') {

        COLOR = "green"
        echo "color is $COLOR"

        sh '''COLOR=${COLOR}
        echo $COLOR'''

    }
}
Run Code Online (Sandbox Code Playgroud)

我希望看到shell打印green,但我得到以下内容;

[Pipeline] echo
color is green
[Pipeline] sh
[job] Running shell script
+ COLOR=
+ echo
Run Code Online (Sandbox Code Playgroud)

我必须使用三重引用,sh因为一旦我理解了这些内容将会进入那里.

shell groovy jenkins

8
推荐指数
1
解决办法
3万
查看次数

别名现有的Slack命令

我看到了大量有关制作自定义Slack命令的文档,但我正在尝试为现有命令命名。

IE,我们有/bluejeans启动Bluejeans会议的命令,但是由于内部的一个玩笑,我希望给别名起个别名,这样也可以开始/bleujean

我在GUI中找不到位置,我是否缺少明显的东西?

alias slack-api slack

6
推荐指数
1
解决办法
1914
查看次数

管道作业 - 上游传递参数?

TL; DR:显然,在Jenkins管道作业中,您可以轻松地向下游传递参数.我想知道的是你是否可以将它们传递到上游.

使用案例:

我们有三份工作; job_one,job_twojob_three.这些通常是单独运行的,因为只需要一个阶段,但在越来越频繁的情况下,我们希望能够连续运行所有三个阶段.

第一个和第二个依赖于您可以提前定义的参数,但第三个需要从第二个作业生成的参数(在job_two运行之前其结构未知的文件名).

我已经建立了umbrella,每个工作都会调用以下内容.在这种情况下,PARAM1填充是因为伞运行为"使用参数构建".

build job: 'job_one', parameters: [[$class: 'StringParameterValue', name: 'PARAM1', value: "$PARAM1"]]
Run Code Online (Sandbox Code Playgroud)

所有罚款和花花公子,然后我就可以用PARAM1job_one就好了.

问题:

因为job_three我需要参数filename.这是job_two由于job_three不知道job_two正在做什么而在我内部生成,因此我无法访问.

在一个理想的世界中,我只需要将job_two传递filename给伞形工作,这将把它反馈给job_three.因此,如何将生成的filename备份传递给伞形工作?

我正在想象一个像这样的最终剧本;

node('on-demand-t2small'){

    stage ('Build 1') {

        build job: 'job_one', parameters: [[$class: 'StringParameterValue', name: 'PARAM1', value: "$PARMA1"]]
}
    stage ('Build 2') {

        build job: 'job_two', parameters: [[$class: 'StringParameterValue', name: 'PARAM2', value: "$PARMA2"]]

    //somehow get …
Run Code Online (Sandbox Code Playgroud)

groovy jenkins jenkins-pipeline

5
推荐指数
1
解决办法
4855
查看次数

设置角度mat-slide-toggle的焦点状态

我使用什么类来设置mat-slide-toggle的焦点状态的样式?

根据我在浏览器中通过Inspect所知道的,可能是类似的东西,::ng-deep .mat-ripple-element .mat-slide-toggle-persistent-ripple但是那不起作用。我尝试了几种变体,ripple但即使我朝着正确的方向看,也似乎找不到合适的变体。

我想要的是重新着色和缩小下面的粉红色圆圈的直径,我只是不知道如何为SASS选择它。

垫子滑动切换

HTML:

<mat-slide-toggle (change)="onChange($event)">{{ variable-here }}</mat-slide-toggle>
Run Code Online (Sandbox Code Playgroud)

sass angular

5
推荐指数
1
解决办法
253
查看次数

如何仅使用python标准库创建excel文件?

我是 Python 的新手。

我使用腻子来管理一些服务器。我想使用Python在每个服务器上创建一个Excel文件,为此我想如果我可以使用一些命令ssh ip "python abc.py"来创建文件。可以编写一个 bash 脚本来管理所有服务器。这是我遇到的麻烦:

服务器不能使用互联网。

并且不允许使用任何第三方库。当安装了 linux(redhat 6.5) 时,python 中有没有可以立即创建 Excel 的库?请帮帮我,谢谢。

python excel

4
推荐指数
3
解决办法
1万
查看次数

AWS CLI 仅列出当前运行的 cloudformation 堆栈的名称?

我正在构建一个更大的 AWS CLI 工作,但其中一个构建块让我感到困惑;

如何获取当前正在运行的每个 AWS Cloudformation 堆栈的名称列表?

我可以使用以下内容很好地列出堆栈,但我无法获得将其与堆栈名称配对的查询。

aws cloudformation list-stacks --stack-status-filter CREATE_COMPLETE --output text
Run Code Online (Sandbox Code Playgroud)

我可以在 bash 中减少结果表,但如果存在更优雅的 aws 解决方案,我会喜欢。

amazon-web-services aws-cloudformation aws-cli

4
推荐指数
1
解决办法
2751
查看次数