GVKun编程网logo

jenkins-on-k8s 动态创建jenkins-slave(jenkins自动部署k8s)

13

对于想了解jenkins-on-k8s动态创建jenkins-slave的读者,本文将提供新的信息,我们将详细介绍jenkins自动部署k8s,并且为您提供关于centos下搭建Jenkins持续集成

对于想了解jenkins-on-k8s 动态创建jenkins-slave的读者,本文将提供新的信息,我们将详细介绍jenkins自动部署k8s,并且为您提供关于centos下搭建Jenkins持续集成环境(安装jenkins)、CI - Jenkins安装-Jenkins进入插件页面出现ssl问题、groovy – Jenkins DSL插件:如何在现有的jenkins视图中创建作业?、Jenkins 2.32.3 参数化构建 maven 项目 - Jenkins 配置的有价值信息。

本文目录一览:

jenkins-on-k8s 动态创建jenkins-slave(jenkins自动部署k8s)

jenkins-on-k8s 动态创建jenkins-slave(jenkins自动部署k8s)

一、安装kubernetes-plugin插件

  系统管理  -->  系统配置 --> Cloud

 

二、测试创建pipline

  新建任务  -->  jenkins-slave-test   -->  流水线

 

 

pipeline{
  agent{
    kubernetes{
      label "jenkins-slave"
      cloud 'kubernetes'
      yaml '''
apiVersion: v1
kind: Pod
Metadata:
  name: jenkins-slave
  namespace: kube-ops
  labels:
    app: jenkins-slave 
spec:
  containers:
    - name: jenkins-slave
      image: 172.20.48.53/kube-ops/jenkins-slave:v1
      imagePullPolicy: Always
      resources:
        requests:
          cpu: "500m"
          memory: "512Mi"
      volumeMounts:
        - name: docker-sock
          mountPath: /var/run/docker.sock
      imagePullSecrets:
      - name: harbor-admin
  volumes:
    - name: docker-sock
      hostPath:
      path: /var/run/docker.sock
      type: File
'''
    }
 }
 stages{
 	stage("test"){
 		steps{
 			script{
 				sh "echo 111"
 			}
 		}
 	}
 }
}

  build  --> consoleOut

 

centos下搭建Jenkins持续集成环境(安装jenkins)

centos下搭建Jenkins持续集成环境(安装jenkins)

1、安装JDK

yum install -y java

2、安装jenkins

添加Jenkins库到yum库,Jenkins将从这里下载安装。

1 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
2 rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
3 yum install -y jenkins

如果不能安装就到官网下载jenkis的rmp包,官网地址(http://pkg.jenkins-ci.org/redhat-stable/)

1 wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm
2 rpm -ivh jenkins-2.7.3-1.1.noarch.rpm

配置jenkis的端口

 vi /etc/sysconfig/jenkins

找到修改端口号:

JENKINS_PORT="8080"  此端口不冲突可以不修改 

3、启动jenkins

service jenkins start/stop/restart
  • 安装成功后Jenkins将作为一个守护进程随系统启动
  • 系统会创建一个“jenkins”用户来允许这个服务,如果改变服务所有者,同时需要修改/var/log/jenkins,/var/lib/jenkins,和/var/cache/jenkins的所有者
  • 启动的时候将从/etc/sysconfig/jenkins获取配置参数
  • 默认情况下,Jenkins运行在8080端口,在浏览器中直接访问该端进行服务配置
  • Jenkins的RPM仓库配置被加到/etc/yum.repos.d/jenkins.repo

4、打开jenkins 

在浏览器中访问 
首次进入会要求输入初始密码如下图, 
初始密码在:/var/lib/jenkins/secrets/initialAdminPassword 

分享图片

选择“Install suggested plugins”安装默认的插件,下面Jenkins就会自己去下载相关的插件进行安装。 

分享图片

分享图片

创建超级管理员账号 

分享图片

分享图片

 

启动报如下错误 

Starting Jenkins bash: /usr/bin/java: No such file or directory 

修改Jenkins启动配置文件,指定java安装路径。

 vim /etc/init.d/jenkins
1
2
在candidates中第一行添加java路径,如下:

candidates="
/opt/soft/jdk1.8.0_60/bin/java
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java
"

CI - Jenkins安装-Jenkins进入插件页面出现ssl问题

CI - Jenkins安装-Jenkins进入插件页面出现ssl问题

A problem occurred while processing the request. Please check our bug tracker to see if a similar problem has already been reported. If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem. If you think this is a new issue, please file a new issue. When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins. The users list might be also useful in understanding what has happened.

Stack trace

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:145)
	at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131)
	at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
	at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
Caused: sun.security.validator.ValidatorException: PKIX path building failed
	at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)
	at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
	at sun.security.validator.Validator.validate(Validator.java:260)
	at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
	at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
	at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1460)
Caused: javax.net.ssl.SSLHandshakeException
	at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
	at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1937)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1478)
	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:212)
	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:957)
	at sun.security.ssl.Handshaker.process_record(Handshaker.java:892)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1050)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1363)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1391)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1375)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1512)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
	at hudson.model.DownloadService.loadJSON(DownloadService.java:167)
	at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:190)
	at hudson.PluginManager.doCheckUpdatesServer(PluginManager.java:1624)
	at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:636)
	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)
	at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:52)
	at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26)
	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184)
	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117)
	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
	at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:186)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:138)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:85)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
	at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90)
	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:615)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2555)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2544)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

编译

javac InstallCert.java

生成证书

java InstallCert updates.jenkins.io

出现提示,输入1

将生成的证书jssecacerts放到jre\lib\security\

重启jenkins即可

 

引用

http://blog.csdn.net/jiang1986829/article/details/50955359

 

groovy – Jenkins DSL插件:如何在现有的jenkins视图中创建作业?

groovy – Jenkins DSL插件:如何在现有的jenkins视图中创建作业?

我找到了关于创建作业以及使用DSL插件添加到新创建的视图的以下问题.

Adding job to newly created view.

如何使用DSL插件将创建的作业添加到现有视图?我在文档中找不到任何提示.也许很明显我看不到解决方案?

虽然我读过,如果视图已经存在,创建视图将导致重新创建.对于这种观点下的现有项目意味着什么?

谢谢你的帮助.

解决方法

您无法将作业添加到不由作业DSL管理的视图.但是由DSL管理的视图可以包含不由DSL管理的作业.

例如,您可以拥有一个名为project-a的作业,该作业是手动管理的,一个名为project-b的作业由DSL管理.由DSL管理的视图可以包含两个作业.

job(''project-b'') {
}

listView(''project-view'') {
  jobs {
    name(''project-a'')
    name(''project-b'')
  }
}

无法使用Jenkins API将作业从DSL脚本添加到视图中.作业必须存在才能添加到视图中.但是,当执行脚本时,不会立即创建作业.处理完脚本后,将创建所有DSL项目.

如果您不希望使用DSL管理视图(但您应该),则可以尝试使用基于过滤器的视图配置.例如.包括名称与正则表达式匹配的所有作业.或者您可以使用View Job Filters Plugin创建更复杂的过滤器.

Jenkins 2.32.3 参数化构建 maven 项目 - Jenkins 配置

Jenkins 2.32.3 参数化构建 maven 项目 - Jenkins 配置

目的:

使测试人员可依据开发提交的问题编号更精确的提取升级包

Jenkins 项目配置页

  1. 基础配置: 注意事项 输入的参数需增加双引号
  2. 源码管理:
  3. 构建: 注意事项:-Dbugids=% bugids% -DbeginTime=% beginTime% -DendTime=% endTime%, 这一段为传递到 maven 中的参数需和参数配置中名字保持一致


来自为知笔记 (Wiz)


关于jenkins-on-k8s 动态创建jenkins-slavejenkins自动部署k8s的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于centos下搭建Jenkins持续集成环境(安装jenkins)、CI - Jenkins安装-Jenkins进入插件页面出现ssl问题、groovy – Jenkins DSL插件:如何在现有的jenkins视图中创建作业?、Jenkins 2.32.3 参数化构建 maven 项目 - Jenkins 配置的相关信息,请在本站寻找。

本文标签: