标签: jenkins

通过python脚本SSL连接在Jenkins中构建作业

我想通过 python 脚本在 jenkins 中构建一个作业。我对 python 完全陌生。我正在使用 python-jenkins 中的以下方法。我的 jenkins url 是 https。

 server = jenkins.Jenkins(ci_jenkins_url, username=username, password=token)
Run Code Online (Sandbox Code Playgroud)

我得到了

SSLError: HTTPSConnectionPool(host='{myjenkinsur}', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))
Run Code Online (Sandbox Code Playgroud)

如何通过 SSL 进行连接?

python ssl jenkins jenkins-job-builder

0
推荐指数
1
解决办法
1615
查看次数

有没有办法在詹金斯管道中打印昨天的日期?

我需要在我的詹金斯管道之一中使用昨天的日期。

有没有办法在詹金斯管道脚本中打印昨天的日期。

def date = new date()
println date // this is printing the current date 

def date1 = date - 1 or date.minus(1)
println date 1 // This is also printing the current date.
Run Code Online (Sandbox Code Playgroud)

有没有办法在詹金斯管道脚本中获取昨天的日期。

jenkins jenkins-groovy jenkins-pipeline

0
推荐指数
1
解决办法
7303
查看次数

构建失败时从 Jenkins 管道通知 slack 用户

我正在从 Jenkins 管道向通道发送松弛通知,我已经安装了 Jenkins 松弛插件https://plugins.jenkins.io/slack并配置了 Jenkins 松弛应用程序以在构建失败或成功时向通道发送通知。我不想只向 slack 通道发送失败消息,而是想通知用户构建失败。例如:@user error in deploying following project

我从 jenkins slack 插件中引用了这个步骤

def userIds = slackUserIdsFromCommitters()
def userIdsString = userIds.collect { "<@$it>" }.join(' ')
post {
        // Send the build result to slack channel
        success {
          slackSend (color:'good', message: "<@$userIds>Successfully deployed")
        }
        failure {
            slackSend (color:'danger', message: "<@$userIds>Error in build ${env.JOB_NAME}")
        }
    }
Run Code Online (Sandbox Code Playgroud)

我得到$userIds变量的空值。

在此输入图像描述

groovy jenkins

0
推荐指数
1
解决办法
5441
查看次数

在 Jenkinsfile 中将参数传递给 shell 脚本时替换错误

在 Jenkinsfile 中,我尝试通过设置 shell 脚本的 stdOut 来设置环境变量。该脚本包含一个返回 InstanceID 的 AWS 命令​​:

stage('Set InstanceID') {
         steps {
             script {
           env.IID = sh (script: 'scripts/get-node-id.sh "${params.ENVIRONMENT}" "${params.NODE}"', returnStdout: true).trim()
             }
          }
    }
Run Code Online (Sandbox Code Playgroud)

无论我做什么或使用多少个反斜杠来转义引号,都不起作用。我收到严重的替换错误。我也尝试过不加双引号。

如果我在 shell 脚本参数中进行硬编码,它就可以正常运行。

如果我想使用此处的参数值,如何使其工作?

jenkins jenkins-groovy jenkins-pipeline

0
推荐指数
1
解决办法
6979
查看次数

在高山码头工人中找不到 dotnet

我有以下 dockerfile:

FROM jenkins/jenkins:lts-alpine

USER root

RUN apk update
RUN apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib wget
RUN apk add libgdiplus --repository https://dl-3.alpinelinux.org/alpine/edge/testing/

USER jenkins

RUN wget https://dot.net/v1/dotnet-install.sh -O $HOME/dotnet-install.sh
RUN chmod +x $HOME/dotnet-install.sh
RUN $HOME/dotnet-install.sh -c 5.0

RUN dotnet --info

EXPOSE 2376 23676
Run Code Online (Sandbox Code Playgroud)

但是当我运行 docker-compose 时,它​​给了我:

Building jenkins
failed to get console mode for stdout: Invalid identifier.
[+] Building 64.6s (10/11)
[+] Building 64.7s (11/11) FINISHED
 => [internal] load build definition from jenkins.dockerfile               0.0s
 => …
Run Code Online (Sandbox Code Playgroud)

jenkins docker .net-core dockerfile docker-compose

0
推荐指数
1
解决办法
5597
查看次数

Jenkins EC2 插件:实例未启动

这是我的 Jenkins EC2 配置:

  • 网址:$JENKINS_URL/configureClouds/
  • 添加新云:Amazon EC2
  • 名称:Amazon EC2 eu-central-1
  • Amazon EC2 凭证:AKIA...
  • 区域:eu-central-1
  • EC2密钥对的私钥:ubuntu
  • 测试连接:成功
  • 先进的...
  • 实例上限:3
  • 无延迟配置:已选中
  • 添加 AMI
  • 描述:Linux节点
  • AMI ID:ami-0293...
  • 检查 AMI:05052029...
  • 实例类型:T3a中型
  • EBS 优化:选中
  • 监控:已检查
  • T2 无限:选中
  • 安全组名称:sg-0c2d...(打开 SSH 端口 22)
  • 远程 FS 根目录:./jenkins
  • 远程用户:ubuntu
  • AMI 类型:unix
  • 标签:aws ubuntu linux
  • 用法:尽可能使用该节点
  • 空闲终止时间:30
  • 先进的...
  • 执行者人数:2
  • 空闲超时时停止/断开连接:选中
  • 最小实例数:1
  • 最小备用实例数:0 …

amazon-ec2 amazon-web-services jenkins jenkins-plugins

0
推荐指数
1
解决办法
5441
查看次数

在并行阶段中跨多个节点重用工作空间

我的 Jenkins 管道脚本中有并行阶段设置,它在不同的节点(AWS EC2 实例)上执行测试

例如

stage('E2E-PR') {
    parallel {
        stage('Cypress Tests 1') {
            agent { label 'aws_slave_cypress' }
            steps {
                runE2eTests()
            }
        }
        stage('Cypress Tests 2') {
            agent { label 'aws_slave_cypress' }
            steps {
                runE2eTests()
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想重新使用从管道开始时使用的父节点生成的签出的存储库\生成的工作空间,而不是每个并行阶段都签出它自己的副本。

我遇到了一种使用顺序阶段和阶段内嵌套阶段来跨多个阶段共享工作空间的方法,我尝试如下

parallel {
    stage('Cypress Tests') {
        agent { label 'aws_slave_cypress' }
        stages {
            stage('Cypress 1') {
                steps {
                    runE2eTests()
                }
            }
            stage('Cypress 2') {
                steps {
                    runE2eTests()
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我可以从 Jenkins 构建输出中看到,只有一个 aws 实例启动并用于我的两个嵌套阶段,这并没有给我带来并行性的好处。

我也遇到过 stash\unstash …

jenkins jenkins-pipeline

0
推荐指数
1
解决办法
1983
查看次数

在脚本块的 Jenkinsfile 中使用 def 和不使用 def 有什么区别?

我有两个 Jenkinsfile 作为示例: A_Jenkinsfile 的内容是:

pipeline {
    agent any
    stages {
        stage("first") {
            steps {
                script {
                 foo = "bar"
                }
            sh "echo ${foo}"
            }
        }
        stage("two") {
            steps {
            sh "echo ${foo}"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

另外一个是B_Jenkinsfile,其内容是:

pipeline {
    agent any
    stages {
        stage("first") {
            steps {
                script {
                 def foo = "bar"
                }
            sh "echo ${foo}"
            }
        }
        stage("two") {
            steps {
            sh "echo ${foo}"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我构建它们时,B_Jenkinsfile 失败,A_Jenkinsfile 成功。

在脚本块的 Jenkinsfile 中使用 def 和不使用 def …

pipeline jenkins jenkins-pipeline

0
推荐指数
1
解决办法
677
查看次数

如何在詹金斯每天午夜 1 点配置投票 scm

我想每天午夜 1 点配置 poll scm,除了周六和周日在詹金斯。有没有其他方法可以进行夜间构建

构建成功后如何向团队发送构建报告。

如何将单元测试用例集成到 jenkins 中

jenkins

-1
推荐指数
1
解决办法
5151
查看次数

使用 Javascript 启动 Jenkins 工作

有没有人有使用身份验证和 Java Script 参数化开始 jenkins 工作的示例?

它就像一个 curl 帖子,但我不确定如何准确地做到这一点,而且我找不到任何传递用户名和令牌以及参数的示例。

javascript jenkins jenkins-api

-1
推荐指数
1
解决办法
1789
查看次数