docker 方式部署的 jenkins 使用 blueocean 方式持续部署并打包回传宿主机遇到的坑一览
大约 1 分钟
docker
方式部署jenkins
,若需要使用blueocean
请务必在启动容器时带上-v /var/run/docker.sock:/var/run/docker.sock
命令,否则将会导致找不到docker
进程。- 由于使用的是
gitee
,blueocean
方式下需要通过ssh
模式连接仓库,涉及到ssh
公钥和私钥生成的问题。在jenkins
中配置ssh
的私钥时切记!要将私钥文件中的所有内容(包括开始的第一行和最后一行)复制进去。 - 由于使用
docker
方式部署jenkins
,本身jenkins
和实际运行环境(宿主机)是相互隔离的,因此打包好的文件要想办法回传到宿主机并运行起来。这里采用了jenkins
的一个插件publish over ssh
。由于blueocean
仍然不够完善的原因,在GUI
选择ssh
时没有可以配置的选项,因此我们需要查看这个文档,通过自行编辑Jenkinsfile
文件来进行配置。 - 在系统配置中配置
ssh
时,要知道如何访问到宿主机,换句话说就是要知道宿主机的地址。我们可以通过通过ifconfig
找到docker0
这张网卡的 ip 地址,通过 ip 地址就可以访问到宿主机啦。(在docker
网络模式是默认 bridge 模式下是可行的,其他模式还需要探索) publish over ssh
插件中的sourceFiles
配置是基于workspace
目录下的,而推送到的主机因此如果需要将目录下的所有文件推过去,要使用**
。