背景:一套部署在windows环境的系统,不能通过ssh进行连接控制。
解决思路通过添加节点池的方法,通过coding的CI模块(qci-worker)代理执行jenkins命令,实现对windows的控制

问题1:拉取不到制品(qci-worker),网页显示504(网关错误)。
首先怀疑coding不能正确下发,以下是排查方式
975 kubectl get pod -A
976 kubectl get pod -A | grep ci ##这里怀疑ci相关的pod死掉了
977 cd /data/coding/
978 ll
979 cd shjh-shjh-prod-20230423-164238-hyYdGX-7.11.1/
983 kubectl get pod -A | grep file
986 kubectl exec -it -n coding public-files-sts-0 sh ##这里存放很多依赖环境包,进来看看是否是文件缺失
987 kubectl get pod -A
988 kubectl get pod -A | grep ci-pypi-simulation ##这里发现运行数是0/0
990 kubectl get deployment -A
991 kubectl get deployment -A | grep ci
992 kubectl edit deployment ci-pypi-simulation -n coding ##编辑deployment 将replica改成1
993 kubectl get deployment -A | grep ci
994 kubectl get pod -A | grep ci-pypi-simulation
995 kubectl logs -n coding ci-pypi-simulation-68b7574dbd-hmh2n ##查看启动日志
996 kubectl get pod -A | grep ci-pypi-simulationpip3安装完成之后,注册进入团队,并启动ciworker,在coding面板中能看到新添加的节点池。
这里注意在windows中当前账号启动的应用会继承用户的权限,所以要注意目录权限问题。
查看windows进程 任务管理器-详情-表头右键-command line
修复完成后直接一键接入
coding端配置
ci 使用bat模块,并且使用api触发ci
pipeline {
agent any
stages {
stage('执行桌面git-clone.bat脚本') {
steps {
bat 'call "C:\\Users\\admin-yxy\\Desktop\\git-update.bat"'
}
}
stage('自定义构建过程') {
steps {
echo '拉取完成'
}
}
}
}