所以,我一直在使用Jenkins.我已经使用Github Pull Request Builder插件设置了许多项目,以便在有人打开拉取请求时运行测试,然后在拉取请求实际合并到主控时触发其他工作(构建,推送,部署等).
那么,有没有办法用Jenkins文件,组织文件夹或multibranch构建交易来设置它?
我正在尝试将现有的Jenkins构建作业移动到单个Jenkins 2管道,并想知道是否可以在构建中将文件从一个节点复制到另一个节点.我的想法是:
Node A (Windows)
Checkout scm
Execute ant build
Archive artifact (or whatever required action)
Node B (Unix)
Checkout scm
Copy build artifact from node A --> is this possible ?
Execute ant build
Then followed by tests...
Run Code Online (Sandbox Code Playgroud)
我试图使用复制神器的一步,但它似乎没有正常工作,所以我不知道是否有在管道中间复制文件的方式,或者如果我要留在当前的构建体系结构(使用复制工件插件,但具有完全独立的构建作业).
我在我的笔记中有这个{"run_list":["recipe[nginx@1.2.3]"]}可以明确指定要在节点run_list中使用的cookbook版本,但是我无法使它工作,并且找不到任何文档说明是否仍然支持它或者它已被弃用.
这是使用厨师11.18.0.任何人都可以确认这是否仍然可以使用以及应该配置的位置.在节点run_list或角色run_list中?
谢谢
我目前正在开始将构建转换为Jenkins构建管道.在某个时刻,我们有必要等待在docker容器中启动Web应用程序.
我的想法是使用这样的东西:
timeout(120) {
waitUntil {
sh 'wget -q http://server:8080/app/welcome.jsf -O /dev/null'
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这使得管道构建失败:
错误:脚本返回退出代码4
有没有简单的方法来完成这项工作?
编辑:
我设法使用以下代码使其工作,但阶段仍然标记为失败(尽管构建继续并最终标记为绿色).
timeout(120) {
waitUntil {
try {
sh 'wget -q http://server:8080/app/welcome.jsf -O /dev/null'
return true
} catch (exception) {
return false
}
}
}
Run Code Online (Sandbox Code Playgroud) 任何人都有一个Jenkins管道脚本可以填充自上次成功构建变量以来的所有更改?我正在使用git和multibranch管道作业.
我有 2 个管道,一个用于审查,一个用于部署,所以当管道以审查结束时,我想跳过 jenkins 文件执行,但是当以部署结束时,它应该执行阶段或我尝试使用的 jenkins 文件,如果但这是声明性管道,所以当应该使用时,如果遇到部署管道结束,我想避免使用 when 条件执行阶段
#!/usr/bin/env groovy
final boolean Deploy = (env.JOB_NAME as String).endsWith("-deploy")
pipeline {
agent any
parameters {
choice(
choices: ['greeting' , 'silence'],
description: '',
name: 'REQUESTED_ACTION')
}
stages {
//how to ouse when here to use deploy vairable to avoide execution of stage below
stage ('Speak') {
steps {
echo "Hello, bitwiseman!"
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用AWS VPC Terraform模块来创建VPC.此外,我想使用aws_internet_gateway资源创建Internet网关并将其连接到此VPC .
这是我的代码:
module "vpc" "vpc_default" {
source = "terraform-aws-modules/vpc/aws"
name = "${var.env_name}-vpc-default"
cidr = "10.0.0.0/16"
enable_dns_hostnames = true
}
resource "aws_internet_gateway" "vpc_default_igw" {
vpc_id = "${vpc.vpc_default.id}"
tags {
Name = "${var.env_name}-vpc-igw-vpcDefault"
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行时terraform init,我收到以下错误:
初始化模块... - module.vpc
错误:资源'aws_internet_gateway.vpc_default_igw'配置:变量vpc.vpc_default.id中引用的未知资源'vpc.vpc_default'
如何引用Terraform模块创建的资源?
我试图在jenkins中执行一个种子作业(使用groovy脚本的github url)并得到以下错误.
第一次建立.跳过更改日志.
处理DSL脚本APIServerDeployer.groovy
错误:脚本尚未批准使用
完成:FAILURE
协议相对URL可以方便地使用与原始请求相同的模式(HTTP或HTTPS)包含资源(图像,CSS,JS),同时仅保留缓存页面的单个副本.然后,用户代理决定是否使用HTTP或HTTPS(基于HTML页面的URI).
我们正在使用<base href=".." />HTML中的资源的标记和相对URL.
一个例子:
<html>
<head>
<base href="http://example.com" />
<script src="js/foo.js" type="text/javascript" />
</head>
Run Code Online (Sandbox Code Playgroud)
有什么办法可以把它结合起来吗?<base/>标签内的协议相对URL ?
<base href="//example.com" />
Run Code Online (Sandbox Code Playgroud)
我的实验尤其如此.有时Internet Explorer工作,有时甚至没有(有时甚至菜单链接都不起作用,有时候CSS图像没有加载).
有什么东西可以使我的工作或任何推荐,如果这是一个好主意?我无法在caniuse.com等网站上找到相关信息.
我想在Jenkins声明性管道语法中定义多个阶段,这些阶段可以继续通过它们中的任何一个失败.我找不到任何真正重复的现有问题,因为它们都假定或允许脚本化语法.
pipeline {
agent any
stages {
stage('stage 1') {
steps {
echo "I need to run every time"
}
}
stage('stage 2') {
steps {
echo "I need to run every time, even if stage 1 fails"
}
}
stage('stage 3') {
steps {
echo "Bonus points if the solution is robust enough to allow me to continue *or* be halted based on previous stage status"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
为了澄清,我不是在寻找如何在脚本语法中完成此任务.我试图理解这种流控制是否实际上是在声明性语法中支持和形式化的.为此,我将尝试准确定义我正在寻找的内容:
post step恶作剧.我想要真正的多个阶段,而不是一个post always …jenkins ×6
chef-infra ×1
github ×1
groovy ×1
html ×1
http ×1
jenkins-declarative-pipeline ×1
terraform ×1