首页
关于
Search
1
联想510s mini 安装 Ventura
898 阅读
2
基于K8s + Jenkins+Docker + Gitee 自动部署 - 配置 Jenkins Item + Gitee Webhook (二)
568 阅读
3
Spring Boot Schedule疑问及线程池配置
467 阅读
4
Server Send Events With Spring Boot
410 阅读
5
Ngrok使用自有服务器服务器及域名 - 解决Mac client问题
389 阅读
默认分类
SSH
typecho
Spring boot
其他
mysql
k8s
jenkins
docker
Java
mqtt
MongoDB
登录
/
注册
Search
标签搜索
k8s
docker
ssh
mysql
db
gitee
jenkins
ngrok
黑苹果
MQTT
CC
累计撰写
19
篇文章
累计收到
0
条评论
首页
栏目
默认分类
SSH
typecho
Spring boot
其他
mysql
k8s
jenkins
docker
Java
mqtt
MongoDB
页面
关于
搜索到
1
篇与
gitee
的结果
2022-05-31
基于K8s + Jenkins+Docker + Gitee 自动部署 - 在K8s中安装Jenkins (一)
背景目前在开发过程中,每次更新测试环境需要手动执行一个脚本:pull最新的代码、build jar、build docker image最后再基于最新的docker image启动容器。于是想“偷个懒”,将这些步骤自动化起来:当指定分支收到push后,触发打包、重启docker container.环境服务器: k8s集群,有N个node仓库: Gitee部署: 部署在集群中的某个node中一、创建namespacekubectl create ns jenkins二、创建Jenkins Deployment & Service准备配置文件:jenkins.yamlapiVersion: apps/v1 kind: Deployment metadata: namespace: jenkins name: jenkins-deployment spec: replicas: 1 selector: matchLabels: app: jenkins template: metadata: labels: app: jenkins spec: nodeName: Your_node_name # 可选,如果不挂载到本地目录,参考文末引用文章 containers: - name: jenkins image: jenkinsci/blueocean:latest ports: - containerPort: 8080 volumeMounts: - name: jenkins-home mountPath: /var/jenkins_home - name: docker-sock mountPath: /var/run/docker.sock volumes: - name: jenkins-home hostPath: path: /your/local/file/path # update me type: Directory - name: docker-sock # 声明挂载docker hostPath: path: /var/run/docker.sock type: Socket --- apiVersion: v1 kind: Service metadata: namespace: jenkins name: jenkins spec: type: NodePort ports: - port: 8080 targetPort: 8080 nodePort: 30005 # 在本机上暴露Jenkins对外服务端口 selector: app: jenkins 创建 Deployment & Service:kubectl create -f jenkins.yaml 注:这里准备把Jenkins的数据映射到host目录,所以使用hostPath挂载/var/jenkins_home,于是在指定的node上运行pod由于项目需要打包用到docker,所以将/var/run/docker.sock通过Socket方式挂载到容器(docker in docker)在Jenkins的pod中执行docker ps -a遇到/var/run/docker.sock: connect: permission denied错误,此时回到host执行:chmod 0777 /var/run/docker.sock赋予权限三、登录配置使用浏览器打开:http://your_k8s_node_ip:port 如:http://127.0.0.1:30005这里要求输入初始密码:登录pod的容器,查看对应的密码。图片中告知的路径:/var/lib/jenkins/secrets/initialAdminPassword # 获取node 名称 [root@cc jenkins]# kubectl get po -n jenkins NAME READY STATUS RESTARTS AGE jenkins-deployment-5db55f9db-7mrk2 1/1 Running 4 4d23h # 进入pod [root@cc jenkins]# kubectl exec -it jenkins-deployment-5db55f9db-7mrk2 -c jenkins /bin/bash -n jenkins # cat 密码 [root@cc jenkins]# cat /var/lib/jenkins/secrets/initialAdminPassword ****** 最后,按照推荐进行安装插件即可。参考:1、基于k8s安装Jenkinshttps://blog.csdn.net/qq_38942551/article/details/107769120
2022年05月31日
339 阅读
0 评论
0 点赞