您的位置 首页 kubesphere

kubesphere jenkins 指定节点 打包

因为kubesphere 的 jenkins 大部分用了 hostpath 挂载方式, 所以,我们最好固定一个节点进行打包:

KubeSphere 如何调整Devops中的编译打包的节点?

KubeSphere 如何调整Devops中的编译打包的节点?-阿里云开发者社区 (aliyun.com)

找到图中红框中的配置项,jenkins-casc-config项,点击后面的三个 ... 点,找到“修改配置”的菜单
三、reload jenkins的configuration,让配置生效
kubesphere更新jenkins 配置文件: 连接
上面是配置了kubesphere中有关jeninks的casc-config的全局配置,但是要在jenkins中重新reload才能生效,一般情况下,默认是主master的ip + 30180 ,就是jenkins的访问地址。
admin

P@88w0rd

为了让每一个容器都固定跑在这个节点上,我们需要对自定义的容器配置主机挂载目录

4-配置 hostpath

使用 HostPath 卷将主机文件系统中的文件或目录挂载到容器中。

在contaner 层级下添加:

既然用到maven 模板,遂将master 节点的kubectl 命令通过hostpath挂载到maven的 pod模板里面。问题解决。

agent模板cm配置【jenkins-casc-config】在【kubesphere-devops-system】的namespace下,在节点data.jenkins_user.yml下添加自定义的agent模板配置,

kubesphere已内置了一些模板(base、nodejs、maven、go、python)等,根据需要选择是否使用。每个模板需要有“jnlp”jenkins的agent来实现与jenkins通信,,jenkins-cacs-config 该配置文件详细如下,在maven模板里面增加kubectl 的 hostpath挂载。

 

然后检查我们的宿主机:

 

参考:

kubesphere 的 流水线maven 模板缺少 kubectl解决 - beawh - 博客园 (cnblogs.com)

 

gradle 配置:

[root@harbor jdk17gradle74]# cat Dockerfile 
#FROM kubespheredev/builder-base:v3.1.0
FROM registry.cn-hangzhou.aliyuncs.com/baimeidashu/kubespheredev-builder-base:v3.1.0

MAINTAINER zhaozhiyong  "715740383@qq.com"
WORKDIR /jdk
ADD jdk-17_linux-x64_bin.tar.gz /jdk/
ADD gradle-7.4-bin.tar.gz  /gradle/

COPY  init.gradle  /gradle/gradle-7.4/init.d/

ENV JAVA_HOME=/jdk/jdk-17.0.9
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV GRADLE_HOME=/gradle/gradle-7.4
ENV PATH=$JAVA_HOME/bin:$PATH:$GRADLE_HOME/bin
CMD ["java","-version"]
#CMD ["gradle","-version"]

 

cat init.gradle

 allprojects{
  repositories {
   def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public/'
   def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/repository/jcenter/'
   def ALIYUN_GOOGLE_URL = 'https://maven.aliyun.com/repository/google/'
   def ALIYUN_GRADLE_PLUGIN_URL = 'https://maven.aliyun.com/repository/gradle-plugin/'
   all { ArtifactRepository repo ->
    if(repo instanceof MavenArtifactRepository){
     def url = repo.url.toString()
     if (url.startsWith('https://repo1.maven.org/maven2/')) {
      project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
      remove repo
     }
     if (url.startsWith('https://jcenter.bintray.com/')) {
      project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
      remove repo
     }
     if (url.startsWith('https://dl.google.com/dl/android/maven2/')) {
      project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GOOGLE_URL."
      remove repo
     }
     if (url.startsWith('https://plugins.gradle.org/m2/')) {
      project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GRADLE_PLUGIN_URL."
      remove repo
     }
    }
   }
   maven { url ALIYUN_REPOSITORY_URL }
   maven { url ALIYUN_JCENTER_URL }
   maven { url ALIYUN_GOOGLE_URL }
   maven { url ALIYUN_GRADLE_PLUGIN_URL }
  }
 }

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章