
Jenkins常见问题解答
忘记密码
我们有时难免会忘记密码如果连管理员的密码我们都忘记了怎么办?接下来我们来解决一下
环境
这里我是通过k8s搭建的一个
Jenkins
应用
解决方法
我们可以通过
docker
和kubectl
的命令访问到其内部,由于通过kubectl只能进行普通用户进入,所以这里我们用docker
的命令用root账号进入容器内部
docker exec -it -u root '15b248560cef' /bin/bash
# 或k8s
kubectl exec -u root -n default -it pod/jenkins-rs-8594c8c974-fmvb2 -- /bin/bash
进入容器内部后,我们通过
ps -aux
命令查看Jenkins
进程情况。接着我们很容易的就看到Jenkins
的Home目录路径是在/var/jenkins_home/
,到达该目录下后找到config.xml
文件,并进行修改。
正当我们准备修改的时候发现并没有
vi
与vim
工具,所以我们需要安装其中一个工具
apt update
apt install -y vim
然后通过
vim config.xml
命令修改<useSecurity>true</useSecurity>
节点的值改为false
并退出。然后退出容器重启该容器。
exit
docker restart 15b248560cef
然后我们可以通过外部访问直接访问到该节点了。然后我们按照如下步骤去走
最后修改密码然后保存,并且再改使用jenkins本地数据下面点击必须是通过登录的用户才可以使用
Job创建后并不执行的问题
一般来讲jenkin都会去执行该Job,但为啥子创建后不执行?其实是没有指定主机或子机可以执行的并发数的问题。在这里我们就只设置master主机的并发数量就可以了。首先我们来看看空闲的机子。
在这里我们看到在没有任何Job构建的情况下,空闲的主机数量为2,可以一次性构建2个Job。如果我们要构建多个Job我们可以通过如下操作更改并发数解决。
java.lang.NoSuchMethodError: No such DSL method ‘?pipeline’ found among steps
关于Pipeline已经安装但不继续执行的问题,我这里是由于本地编码与服务器的编码不一致引起的。
在Jenkins目录下创建ConvertASCII.bat
脚本文件会生成一个JenkinsfilePro的文件,它是ASCII码。
@echo off
powershell.exe -command "Copy-Item .\Jenkinsfile .\JenkinsfilePro;(Get-Content 'JenkinsfilePro' -Encoding UTF8) | Set-Content 'JenkinsfilePro' -Encoding ASCII;Write-Host '转换完成...'"
pause
当然你想简单点,直接替换为Jenkinsfile文件也可以这样。
@echo off
powershell.exe -command "(Get-Content 'Jenkinsfile' -Encoding UTF8) | Set-Content 'Jenkinsfile' -Encoding ASCII;Write-Host '转换完成...'"
pause
双击执行一下就可以生成了。
注意如果你要使用我的JenkinsfilePro,请修改Jenkinsfile地址。
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

