【docker-jenkins搭建】docker的jenkins容器java版本(四)
将上一篇文章最后新建好的py文件复制到jenkins工作台中:
jenkins容器中执行命令:
cp /var/jenkins_home/auto_test/test_demo.py /var/jenkins_home/workspace/test_demo/
jenkins容器降低java版本
jenkins安装插件ruby-runtime时,用java11无法安装,降java版本问题解决。
1. 安装低版本的jdk,参考LINUX下 JAVA环境安装配置
2. 配置低版本的java环境变量
- 修改容器中的/etc/profile文件:
vim /etc/profile
- 编辑一下内容并保存退出:
export JAVA_HOME=/autotest/jdk1.8.0_301
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
- 使配置生效:
source /etc/profile
容器中的环境变量修改,似乎无法改变jenkins的环境变量。
3. exit #退出容器同时也关闭容器
docker systemctl stop docker 关闭docker
后来又尝试修改docker外部的java版本。
修改docker启动jenkins时的环境变量:
1. 前提,本地已经下载好java低版本的jdk并安装配置好环境变量,具体步骤参考:
LINUX下 JAVA环境安装配置
2. 配置好后宿主机的java环境后,需要关闭docker,修改docker容器中配置的java路径:/var/lib/docker/containers/容器id/config.v2.json
3. 打开找到关于JAVA_HOME,PATH的路径。(可以先备份备用,万一失败了可以修复)
4. 将对应的低版本的java的jdk路径作为JAVA_HOME,并将PATH中关于jdk的路径换成低版本的,保存退出。
5. 重启docker: systemctl restart docker
6. 重启jenkins容器:docker restart autotest-jenkins
7. 进入docker容器:docker exec -it autotest-jenkins /bin/bash
8. 再次进入jenkins中的插件管理:ruby-runtime插件就可以使用了。
解决 sh: java: command not found 问题
上面修改了config.v2.json文件后去启动docker容器时遇到了错误,导致每次启动看不出任何问题,但是每次查到的状态都是Exited。后来查了一下怎么去看docker的log,问题才有解决方向。
具体解决办法:
1. 使用命令查log:
docker logs autotest-jenkins
最下面是最新的log,其中报了很多错误:/usr/local/bin/jenkins.sh: line 37: exec: java: not found
查了很多地方,根据这个错误提示应该是jenkins.sh这个文件中的java配置不正确导致的
2. 拿到容器中的/usr/local/bin/jenkins.sh文件拷贝到宿主机:
docker cp autotest-jenkins:/usr/local/bin/jenkins.sh /autotest
3. 将jenkins.sh文件加入如下配置,并保存退出
#!/bin/bash
JAVA_HOME=/usr/java/jdk1.8.0_152
export PATH=$PATH:$JAVA_HOME/bin
4. 将此文件再copy回容器中:
docker cp /autotest/jenkins.sh autotest-jenkins:/usr/local/bin/jenkins.sh
5. 如果还有问题,把容器中的环境变量也修改一下,方法类似于上面步骤:
docker cp autotest-jenkins:/etc/profile /autotest
修改后,将修改的文件拷贝回容器中:
docker cp /autotest/profile autotest-jenkins:/etc/profile
6. 再次重启jenkins容器,大功告成:
docker restart autotest-jenkins
进入容器:docker exec -it autotest-jenkins /bin/bash
又可以继续使用了。
重新安装python的步骤(记录在这里,做备用的不够完善。)
先将python卸载
apt-get --purge remove python
apt-get autoremove python
- 重新安装python步骤:
# cd /var/jenkins_home/
# mkdir python3
# cd python3/
# wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
# tar -xvf Python-3.6.8.tgz
# ls
Python-3.6.8 Python-3.6.8.tgz
# cd Python-3.6.8
# ./configure --prefix=/var/jenkins_home/python3
执行 ./configure --prefix=/var/jenkins_home/python3时报上面错:configure: error: no acceptable C compiler found in $PATH
apt-get 安装依赖包
这个是因为缺少gcc相关依赖包,使用apt-get代替yum安装相关依赖包
apt-get -y install gcc automake autoconf libtool make
apt-get -y install make*
apt-get -y install zlib*
apt-get -y install openssl libssl-dev
apt-get install sudo
执行步骤:apt-get -y install make*报错
The following packages have unmet dependencies:
libqt4-dbus : Depends: qdbus (= 4:4.8.7+dfsg-11+deb9u1) but it is not going to be installed
make : Conflicts: make-guile but 4.3-4.1 is to be installed
make-guile : Conflicts: make
执行步骤:# apt-get -y install zlib*报错
The following packages have unmet dependencies:
zlib1g-dbg : Depends: zlib1g (= 1:1.2.8.dfsg-5) but 1:1.2.11.dfsg-2 is to be installed
E: Unable to correct problems, you have held broken packages.
The following packages have unmet dependencies(未能满足依赖关系)解决办法:
aptitude与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。
# apt-get install aptitude
# aptitude install libqt4-dbus
# aptitude install zlib1g-dbg
# aptitude install make
重新执行上面的命令还是报错,此处坑比较多
继续:
apt-get -y install openssl libssl-dev
apt-get install sudo
make编译安装
在/var/jenkins_home/python3/Python-3.9.2目录执行make和make install 安装
./configure --prefix=/var/jenkins_home/python3 --with-ssl
make
make install
又报错了:
Traceback (most recent call last):
File "<frozen zipimport>", line 520, in _get_decompress_func
ModuleNotFoundError: No module named 'zlib'
花了好久没解决,果断放弃了。
【docker-jenkins搭建】docker的jenkins容器java版本(四)相关推荐
- Git仓库、Jenkins搭建、应用Jenkins、管理应用服务器
一.Jenkins基础 1.1 Jenkins简介 1.1.1 什么是Jenkins Jenkins是一款非常流行的CI(持续集成)软件,用于构建和测试各种项目. 1.1.2 Jenkins特点 可以 ...
- Docker入门-搭建docker私有仓库
Docker Hub 目前Docker官方维护了一个公共仓库Docker Hub,其中已经包括了数量超过15000个镜像.大部分需求都可以通过在Docker Hub中直接下载镜像来使用. 注册登录 可 ...
- Docker Compose 搭建 Docker Registry 私服
简介 官方的 Docker Hub 是一个用于管理公共镜像的地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.你也可以选择通过 Docker Registry 搭建一个属于自己的 ...
- 【Docker】搭建Docker私库Harbor
1.环境 软件 版本 Ubuntu 20.04.2 docker 20.10.6 docker-compose 1.29.2 2.安装方式 可在线安装或者离线安装.本次安装采用离线安装. 3.下载Ha ...
- ipc620中文版最新版本_(一)Windows10 家庭中文版Docker安装 搭建docker开发环境
首先因为系统的版本问题,Windows的某些版本目前还是不支持,如果必须安装此软件,可以按规定提示,选择适合的系统,Windows 10专业版或企业版.但是,那需要成本,且非常麻烦. 为了以后也会使用 ...
- 【Android APT】注解处理器 ( 配置注解依赖、支持的注解类型、Java 版本支持 )
文章目录 一.注解处理器 依赖 编译时注解 二.设置 注解处理器 支持的注解类型 三.设置 注解处理器 支持的 Java 版本 四.博客资源 Android APT 学习进阶路径 : 推荐按照顺序阅读 ...
- 记录使用docker容器技术搭建gitlab与jenkins
目录 一.安装Xshell和Xftp 二.安装docker容器 三.安装docker-compse 四.通过docker-compose.yml 安装镜像容器 1.示例安装mysql 2.jenkin ...
- jenkins+maven+docker java项目编译、打包、构建镜像、上传私有仓库、web容器部署
本环境非常简单,主要实现如下流程功能 员工通过eclipse提交java代码---gitlab更新代码----jenkins通过maven编译打包----生成war包----制作docker镜像并上传 ...
- 搭建Jenkins+SpringBoot+Docker的微服务持续集成框架
前言 近一.两年,SpringBoot和Docker可以说非常的火热啊,而早在2015年的时候我就弄过一下Docker,不过由于职位和跳槽等种种原因,2016年就很少搞了,不过现在再捡起来也是很容易的 ...
最新文章
- APK 本地化和去广告
- DynamicPropertyAccessor Expression lambda
- git 提交命令_工作总结:Git的学习和使用,最详细的Git教程,从入门到精通
- hadoop的开发工具_Hadoop开发工具简介
- 怎样用计算机kd求平均数,利用pandas和numpy计算表中每一列的均值
- 【Git入门之十四】Git GUI
- 《现在的泪,都是当年脑子进的水》读书笔记
- datatables java 分页_DataTables后台分页的使用
- php1108脱机使用,电脑打印机脱机怎么重新连接
- Cocoapods使用代理
- 不用计算机时自动关掉屏幕,电脑怎么取消自动黑屏
- 【LG-P5072 [Ynoi2015]】盼君勿忘
- 操作系统真像还原 - MBR主引导程序初体验
- Linux 下固态硬盘恢复误删除文件
- 抖音直播间千川投放有用吗?直播间投放分析有什么技巧
- 华侨大学教务系统评教脚本----一键评教
- 勃林格殷格翰战略入股新瑞鹏,进一步拓展中国宠物市场
- Oracle 官网网址
- 【2013年度CSDN博客之星】评奖:全文五言句,俺也拉个票
- 独家 | 木瓜移动将冲刺香港上市:已任命刘凡为新CFO,赵巨涛退出
热门文章
- 网页视差滚动效果html,30个使用视差滚动效果的时尚网页设计欣赏
- mathtype嵌入word后仍为灰色怎么解决?
- Date问题:字符串格式时间进行加减
- Micro-expression recognition: an updated review of current trends,challenges and solutions 论文笔记
- 如何在Mirth Connect中创建和调用自定义Java代码
- 洛基国际英语推荐的20首英文歌曲
- 【北京SEO】怎样删除百度快照
- 解决markdownPad2导出的pdf显示不出图片问题
- 微信支付与登录之项目开发阶段1
- 数据运营的整个过程是怎么样的