首页
关于
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
页面
关于
搜索到
2
篇与
jenkins
的结果
2022-05-31
基于K8s + Jenkins+Docker + Gitee 自动部署 - 配置 Jenkins Item + Gitee Webhook (二)
继续上一篇我们在k8s中搭建了Jenkins环境,接下来我们分别在Jenkins和Gitee中完善配置Gitee 引导配置:https://gitee.com/help/articles/4193Jenkins一、安装Gitee插件这里已经安装好了,具体步骤可参考:https://gitee.com/help/articles/4193#article-header3接下来,需要配置插件:https://gitee.com/help/articles/4193#article-header4这里出现成功即可二、创建构建任务这里我们期望push到develop分支时,能触发后端自动打包部署。1)、在Jenkins首页左上角,点击"New Item",输入名称2)、这里我们选择"Freestyle project"3)、"General"部分"Gitee 链接"默认配置好了4)、"Source Code Management" 配置源码管理:仓库地址、用户登录凭证仓库地址可以在仓库的“克隆”中找到 :如https://gitee.com/xx/xx.git在"Credentials"处点击"Add"配置Gitee账号用户名/密码5)、配置需要打包的分支,这里我们填写develop6)、配置"Build Triggers",即在什么情况可触发打包部署。这里我们勾选"Gitee webhook 触发构建.."展开后,继续勾选"推送代码"这里记录下"需要在 Gitee webhook 中填写 URL:...",这里需要配置公网可访问的ip或域名7)、接下来配置"构建指令过滤":这里我们只允许develop才能触发8)、生产一个固定的密码,用于Webhook请求鉴权9)、"Build Environment"配置收Webhook时执行的操作,这里我们选择执行脚本点击"Add build step"选择"Execnte shell"运行脚本"sh restarxx.sh"这里的 restarxx.sh 在仓库的根目录中该脚本执行:打包jar、build docker image 、重启container9)、点击"save"进行保存Gitee1)、进入到仓库配置,新增WebhookUrl:参考Jenkins步骤6给出的URL,这里需要转换公网可访问的ip+portWebHook 密码/签名密钥:参考 Jenkins步骤8生成的密码2)、验证Webhook配置好后可进行"测试",提示返回200即可push 到develop分支在Jenkins中可看到构建情况
2022年05月31日
568 阅读
0 评论
0 点赞
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 点赞