孤九沫
发布于 2026-04-10 / 16 阅读
0
0

对于windows server 2016 接入coding发布的方法

背景:一套部署在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-simulation

pip3安装完成之后,注册进入团队,并启动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 '拉取完成'
      }
    }
  }
}


评论