我正在将Jenkins的工作从手动配置转换为DSL,这意味着我正在尝试创建一个DSL脚本来创建今天的工作.
该作业当前已参数化,其中一个参数的类型为"用于复制工件的构建选择器".我可以在作业XML中看到它是copyartifact插件,特别是我需要使用BuildSelectorParameter.
然而,Jenkins DSL API没有使用此插件设置参数的指导 - 它只是帮助使用它来创建构建步骤,这不是我需要的.
我也无法在API中的参数选项下找到任何与此相关的内容.
我想在DSL种子脚本中包含一些内容,它将在生成的作业中创建一个与图像中的参数匹配的参数.
如果我需要使用配置块,那么欢迎使用任何提示,因为对于初学者来说,这方面的文档是没有用的.
我尝试第一次使用Jenkins Job DSL插件来创建一些基本的作业“模板”,然后再介绍更复杂的内容。
Jenkins在Windows 2012服务器上运行。Jenkins版本是1.650,我们正在使用Job DSL插件版本1.51。
理想情况下,我希望对种子作业进行参数化,以便在运行该种子时,用户可以输入四项内容:作业DSL脚本位置,生成的作业的名称,用于通知失败的Slack通道以及一封电子邮件。故障通知的地址。
前两个很好:我可以在groovy脚本中调用参数,例如,脚本可以理解job("${JOB_NAME}")并使用我在运行种子作业时为作业输入的名称。
但是,当我尝试使用Slack频道执行相同的操作时,groovy脚本似乎不想播放。请注意,如果我指定一个Slack通道而不是尝试调用一个参数,它将正常工作。
我的Job DSL脚本在这里:
job("${JOB_NAME}") {
triggers {
cron("@daily")
}
steps {
shell("echo 'Hello World'")
}
publishers {
slackNotifier {
room("${SLACK_CHANNEL}")
notifyAborted(true)
notifyFailure(true)
notifyNotBuilt(false)
notifyUnstable(true)
notifyBackToNormal(true)
notifySuccess(false)
notifyRepeatedFailure(false)
startNotification(false)
includeTestSummary(false)
includeCustomMessage(false)
customMessage(null)
buildServerUrl(null)
sendAs(null)
commitInfoChoice('NONE')
teamDomain(null)
authToken(null)
}
}
logRotator {
numToKeep(3)
artifactNumToKeep(3)
publishers {
extendedEmail {
recipientList('me@mydomain.com')
defaultSubject('Seed job failed')
defaultContent('Something broken')
contentType('text/html')
triggers {
failure ()
fixed ()
unstable ()
stillUnstable {
subject('Subject')
content('Body')
sendTo {
developers()
requester()
culprits() …Run Code Online (Sandbox Code Playgroud) 我正在为运行的Web应用程序设置基本身份验证。
该应用程序使用nginx 1.12.2以及Apache 2.2.15(尽管这是一个测试实例,而生产实例使用1.12.2和2.4.6)。它们都在CentOS 7服务器上运行。
我一直在这里使用教程来做到这一点。我设法使身份验证正常工作,并且在浏览器中导航至该站点时,弹出对话框询问用户名和密码。但是,我无法使用IP白名单-无论我从哪里连接都要求提供凭据。
目的是使我们网络上或通过我们的VPN连接的任何人都不必输入这些凭据。似乎应该很简单,但我无法使其正常工作。
本质上,我们需要192.168.1.1-192.168.1.255范围内的任何人都可以访问它,以及10.8.0.x范围内的VPN地址。
在尝试IP地址控件之前,我必须处理nginx conf文件中的位置,然后放置身份验证信息以使其起作用,并发现它必须位于我添加的部分中。但是,IP控件不起作用就像声明的那样。我看不到我在这里想念的东西。
以下是内容 /etc/nginx/sites-available/myapp.conf
upstream myapplication-3.3.2 {
server 127.0.0.1:18805;
}
server {
listen 80;
server_name mydomain.com;
location '/.well-known/acme-challenge' {
default_type "text/plain";
root /srv/letsencrypt;
}
location / {
return 301 https://$server_name$request_uri;
}
}
server {
listen 18804;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 80;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name mydomain.com;
access_log /var/log/nginx/myapplication3.access.log;
error_log /var/log/nginx/myapplication3-errors.log;
ssl on;
ssl_certificate_key …Run Code Online (Sandbox Code Playgroud)