jenkins容器自定义配置密钥+jdk+maven环境
当使用到maven项目时会用到jdk和maven环境,也需要ssh密钥避免容器重启消失,我使用容器版本jenkins2.344自带openjdk11,与打包项目不兼容会出现构建报错,所以到此自定义环境及版本使用,以下使用dockerfile构建重新打包新的镜像从源头解决 Dofilefile构建 此处遇到痛点Dockerfile文件source全局配置文件一直不生效,会导致容器启动后需手动source,解决方式就是将souce /etc/profile写到~/.bashrc文件中完美解决 12345678FROM harbor.od.com/public/jenkins:v2.344USER rootRUN ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsaADD ./apache-maven-3.6.3-bin.tar.gz /usr/local/ADD ./jdk1.8.0_221.tar.gz /usr/localRUN echo " export JAVA_HOM...
jenkins构建项目失败钉钉告警
下载插件 configure system 项目配置中勾选 任务失败,构建状态正常? 我们使用jenkins平台执行特定的脚本构建项目,触发失败告警,但有个状态问题导致脚本构建失败不告警,比如脚本内部没有明确程序退出状态,不论程序内部是否执行成功与失败jenkins构建都是成功,因为jenkins只会判断exit-status值是否为0,需要注意这点 加入失败退出状态,告警正常
jenkins启动tomcat失败
在shell终端启动正常,使用jenkins构建执行命令无效? 在被执行脚本最上方设置jdk变量,然后再去jenkins执行试试看? 1234#!/bin/bashexport JAVA_HOME=/usr/local/jdk1.8.0_221export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
jenkins+mvn使用自定义jdk
jenkins2.357开始已经全面放弃jdk1.8从而使用openjdk11,但是项目一般都是用的比较老的java环境打包构建 配置java环境(此方式测试有问题)新增不同jdk配置和路径 新增后项目选择对应java8 构建命令 打包构建失败原因在build阶段多了 mvn命令导致去掉就正常了,mvn插件安装后默认运行带了mvn命令 1clean package -DskipTests=true 执行过程jdk报错 在Jenkins中,如果默认使用的是JDK 11,但你在Maven项目中自定义使用了JDK 8,那么在执行构建时,由于类文件版本不兼容,最终还是调用了自带的java环境(配置jdk1.8报错但是最终继续可以打包完成是因为还是调用自带的jdk11构建的) 流水线构建指定mvn使用jdk1.8环境12345#在mvn二进制文件中,会获取当前环境的$JAVA_HOME环境mvn文件增加自己安装的jdk路径即可[root@iZ3ic060uyx26md9jijcexZ bin]# /usr/local/apache-maven-3.6.3/bin[root@iZ3i...
jenkins批量删除构建历史
执行路径:系统设置 ➔ 工具和动作 ➔ 脚本命令行 12345678def jobName = "TEST-client" # 项目名称def maxNumber = 64Jenkins.instance.getItemByFullName(jobName).builds.findAll {it.number <= maxNumber}.each {it.delete()}
nginx返回413 Request Entity Too Large
最近在使用 Docker 部署的一套 WordPress 环境中(架构为 Nginx 反代 -> WordPress 容器),尝试上传一个约 10MB 的视频文件时失败,后台日志未发现异常 打开浏览器F12发现为nginx默认文件上传大小限制文件 修改nginx默认配置为大于wordpress的512M 123456789101112131415server { listen 443 ssl; server_name localhost; # 【新增】设置最大允许上传大小为 1024M (1G) # 默认值仅为 1m,必须修改 client_max_body_size 1024m; # ... 其他 SSL 配置 ... location / { proxy_pass http://wp:80; # ... }}
jenkins本地环境迁移至容器运行
jenkins版本2.306因云盾检测出应急漏洞Jackson 最新反序列化漏洞(CVE-2019-14361和CVE-2019-14439)【版本检测】,因此整改迁移至docker,当然按照自己习惯也可以升级新版本或者打补丁方式,操作方式不限 docker镜像12345678拉取镜像(拉取后版本也是2.306)[root@10.1.74.109 ~]# docker pull jenkins/jenkins:latest创建挂载文件[root@10.1.74.109 ~]# mkdir /home/jenkins_home/运行容器[root@10.1.74.109 ~]# docker run -itd --name jenkins -p 8081:8080 --restart=always -e TZ="Asia/Shanghai" -e JENKINS_OPTS="--prefix=/jenkins" -e JENKINS_ARGS="--prefix=/jenkins" -v /home/jenkins_ho...
docker命名卷迁移
在 Docker 部署中,我们经常面临服务器迁移的需求。如果只是简单的 cp 文件夹,往往会遗漏存储在 Docker 命名卷中的数据库和网站核心文件 在【源服务器】打包数据停止容器为了保证数据一致性(特别是数据库),必须先停止服务 1[root@harbor ~]# docker-compose -f docker.yml down 确认卷名称Docker Compose 默认会以“目录名_卷名”的格式创建卷 1234[root@harbor ~]# docker volume lsDRIVER VOLUME NAMElocal root_dblocal root_wordpress 打包命名卷数据利用一个临时的 alpine 容器,把卷挂载进去,然后打包成 .tar 文件放到当前目录 打包数据库卷1234[root@harbor backup]# docker run --rm \> -v root_db:/volume_data \> -v $(pwd):/backup \> registry.cn-hangzhou.aliyuncs....
docker离线服务器实现镜像迁移
在日常的 Docker 运维工作中,我们经常遇到以下两个场景 镜像名称太长或难记:拉取下来的镜像带有一长串私有仓库地址(如 registry.cn-hangzhou…),想要改成简短的名称(如 nginx:v1)。 离线环境部署:生产服务器无法连接互联网,或者网络环境较差,需要将本地开发环境构建好的镜像“搬运”到生产服务器上 镜像改名打标签1[root@localhost ~]# docker tag registry.cn-hangzhou.aliyuncs.com/jiangxuliu/dockerhub:nginx-custom nginx:v1 验证结果1234[root@localhost ~]# docker imagesREPOSITORY TAG IMAGE ID SIZEnginx v1 ...
RHCSA认证
在 mars.domain250.example.com 上执行以下任务。 配置网络设置将 mars 配置为具有以下网络配置:主机名:mars.domain250.example.comIP 地址:172.25.250.100子网掩码:255.255.255.0网关:172.25.250.254**解题方法A: 1234[root@mars ~]# vim /etc/hostnamemars.domain250.example.com[root@mars ~]# nmtui[root@mars ~]# nmcli connection up 'Wired connection 1' 配置您的系统以使用默认存储库YUM 存储库已可以从 http://content/rhel8.0/x86_64/dvd/BaseOS 和 http://content/rhel8.0/x86_64/dvd/AppStream 使用配置您的系统,以将这些位置用作默认存储库。**解题方法: 123456789101112[root@mars ~]# cd /etc/yum.repos....















