KubeSphere DevOps 3.0 流水线运维指南
通过自定义podTemplate升级maven和jdk,同时按照文档修改了Jenkins配置文件,也登录Jenkins重新加载了
- maven构建问题解决了
- 但是docker打包镜像时提示无docker这个命令
- docker build -f Dockerfile -t 192.168.3.142:8082/library/finai-demo-devops-api:SNAPSHOT-master-9 .
/home/jenkins/agent/workspace/ch_finai-demo-devops-cicd_master@tmp/durable-6b21eb3a/script.sh: 1: /home/jenkins/agent/workspace/ch_finai-demo-devops-cicd_master@tmp/durable-6b21eb3a/script.sh: docker: not found
script returned exit code 127
这种问题一般要怎么排查
打包的dockerfile如下
FROM kubesphere/builder-base:v2.1.0
MAINTAINER xxx
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV LC_ALL=en_US.UTF-8
RUN yum remove -y java-1.8.0-openjdk \
&& mkdir /usr/local/java \
&& mkdir /opt/ant
WORKDIR /home/jenkins
ADD jdk-11.0.8_linux-x64_bin.tar.gz /usr/local/java
ENV JAVA_HOME /usr/local/java/jdk-11.0.8
ENV PATH $JAVA_HOME/bin:$PATH
ADD apache-maven-3.6.1-bin.tar.gz /opt
ENV MAVEN_VERSION=3.6.1
ENV M2_HOME=/opt/apache-maven-3.6.1
ENV maven.home=/opt/apache-maven-3.6.1
ENV M2=/opt/apache-maven-3.6.1/bin
ENV PATH $M2:$PATH
ADD apache-ant-1.10.9-bin.tar.gz /opt/ant
ENV ANT_VERSION=1.10.9
ENV ANT_HOME=/opt/ant
ENV PATH $ANT_HOME/bin:$PATH
CMD mvn -version
shaowenchenK零SK贰SK壹S
1,首先得用 label 选中合适的 agent
2,在 agent 中需要挂载 docker.socket
3,执行 docker 时,需要在 container 包裹下执行(默认使用 jnlp 容器没有 docker 命令),该容器需要有 docker 命令。
可能是 3 导致的,需要检查一下
shaowenchen 确实是第3点导致,没用container 包裹下执行,感谢!!!
自定义的pod镜像1个多G,有什么好的方法可以瘦身~
刚才跑文档例子,发现无论admin还是project-admin生成Kubeconfig凭证都无法跑通。建议生成kubeconfig的时候还是手动粘贴进去比较好
大佬 轮询构建 有没有办法?
https://kubesphere.com.cn/forum/d/3375-svn-scm/2
z-nK零S
jenkins点了升级后就各种完蛋草了。。。 不能单独重置ks-jenkins么
shaowenchen 老哥,想请问一下,ci编译的maven镜像里面能打一个kubectl命令嘛?我们这边想直接在ci的时候执行 kubeclt set image把集群内的镜像修改成最新的,开发的项目里就不用写deployment.yml了
jenkins 插件 kubernetesDeploy 有bug, 创建serviceaccount,role, rolebind, secrets会重复创建, 使用kubectl apply -f 就不会重复生成, 而且secrets里面的uuid都是同一个
shaowenchenK零SK贰SK壹S
zqh 已经打了呀
shaowenchenK零SK贰SK壹S
- 已编辑
name 一致就行吧,引用时都是引用的 name。这里的重复生成是指什么?两个一样的吗
shaowenchen 是的,新创建了一个secrets出来, 我每次构建都会创建,今天才发现, secrets下面新建了上千个
你好, 想问下, ks3.0, 一个 host 集群, 一个 member 集群,都是3 master 。 都启用了 devops, host上用户可以登录 jenkins,但是 member 集群 jenkins 登录不了, member 集群重装几次之后都一样。 member 集群直接访问 console 是可以的, ks-jenkins pod 一直报错 ldap bind error。 请问有这类情况吗
hongmingK零SK壹S
- 已编辑
可以看看这个issue kubesphere/kubesphere#3105
在member cluster上执行一下
kubectl patch users admin -p '{"spec":{"password":"<YOUR PASSWORD>"}}' --type='merge' && kubectl annotate users admin iam.kubesphere.io/password-encrypted-
@shaowenchen 大佬,问下当我创建好流水线后,扫描远程分支会自动运行构建所有带有Jenkinsfile的分支,这个能配置阻止自动运行吗?我希望手动控制哪些分支可以运行