中国最火的网站,的wordpress主机名,免费高清视频,淘宝有做钓鱼网站的吗1、前文概要
通过物理机部署Jenkins前文已经讲过#xff08;地址#xff1a;[Jenkins] 物理机 安装 Jenkins#xff09;#xff0c;也已经公司内部平稳运行若干年#xff0c;考虑到容器化的使用场景#xff0c;部分项目都采用容器运行#xff0c;开始考虑部署容器化的J…
1、前文概要
通过物理机部署Jenkins前文已经讲过地址[Jenkins] 物理机 安装 Jenkins也已经公司内部平稳运行若干年考虑到容器化的使用场景部分项目都采用容器运行开始考虑部署容器化的Jenkins殊不知这也是入坑的开始
以下提供下最近今日几次调试遇到的错误及思路各种命令均可在Jenkins容器内适用目前支持go、git、node、docker等命令
友情提示容器化部署的Jenkins所有的操作命令都是在容器内生效至今没解决的事在Jenkins中将容器内的文件拷贝到宿主机尝试docker cp xx基本都是通过容器的Jenkins home拷贝到容器的某个地址容器内操作是通顺的目前能想到解决方案是Jenkins挂载的盘映射到宿主机在宿主机配置nginx及其他跑服务go/php等服务问题就在于其他服务不在这个jenkins_home映射的地址里 容器化部署Jenkins的英文版中文版出问题走不通go环境问题等 jenkinsci/blueocean中文文档[Jenkins] Docker 安装Jenkins及迁移流程和 jenkins/jenkins英文文档 ----自己配置jenkins1用于配置英文版jenkins-------- 升级到版本2.433 - 2023/11/23
version: 3services:jenkins1:image: jenkins/jenkins:latestcontainer_name: jenkins1ports:- 9093:8080- 50000:50000volumes:- /usr/bin/docker:/usr/bin/docker- /var/lib/jenkins:/var/jenkins_home- /var/run/docker.sock:/var/run/docker.sock- /etc/localtime:/etc/localtime- /etc/localtime:/etc/localtimerestart: always1.1、查看容器内的ip
docker inspect -f ‘{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ jenkins1容器名
1.2.、主机访问容器 容器访问物理机ip:端口
curl http://container_ip:container_port
1.3、查看容器网络
docker network inspect network_name_or_id
1.4、查看日志
docker logs jenkins1
1.5、错误汇总
0问题 启动jenkins成功浏览器无法访问 会有一段延迟刷新等待一会 可以先进入容器curl XGET http://localhost:8080是否有返回消息 如果有返回消息证明Jenkins是正常的然后ping hostIP查看容器与host的网络是否正常
1报错JSONObject[“scm”] is not a JSONObject.
在配置Git仓库的时候出问题考虑到公钥配置没问题应该是版本问题i
google一圈找不得答案、chatGPT也不行、最后biying.com 找到同行的解决方案
方案版本回退4.209 或Build Timeout Plugin 更新
2配置go全局变量但是命令行报错 go version
/tmp/jenkins13208882337710441847.sh: 12: go: not found解析配置go全局路径系统设置-安全-全局-Go配置容器内的路径/var/jenkins_home/go所在路径
# 清楚go的编译缓存
go clean -modcache
go build3touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Operation not permitted
chmod -R 777 /var/lib/jenkins4容器内拷贝数据出错找不到命令容器安装的所有操作都是容器的地址操作 需要安装插件Copy Artifact插件、Docker插件
配置Docker插件再Cloud中的“Docker Host URI”字段中输入unix:///var/run/docker.sock 配置这个无效走 -v挂载可以
# 容器内创建文件拷贝到容器里
echo Hello World! output.txt
docker cp output.txt 容器名:/var/jenkins_home/# 测试容器内命令是否有效
docker exec -it jenkins1 docker info
/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin5容器内无法运行docker命令 解决方案docker-compose中配置
# /usr/local/bin/docker 需要改为 /usr/bin/docker 挂载
volumes:// 这里是为了为jenkins容器能调用host主机的docker所做的映射- /usr/bin/docker:/usr/bin/docker// 此映射卷主要用于存储jenkins的配置文件到当前目录下- /var/lib/jenkins/:/var/jenkins_home/// 此映射卷主要用于执行docker镜像内的docker命令执行 共享当前docker的状态- /var/run/docker.sock:/var/run/docker.sock2、最终效果图