我正在尝试设置Chef配方来安装和管理Jenkins服务器。到目前为止,我可以安装服务器并管理它的配置,以便它侦听端口80.
我现在的问题是我无法通过初始管理员密码获取脚本,因此我可以实际访问服务器。
到目前为止,我有脚本打击,可以找到密码并将网页提交回Jenkins,但Jenkins总是声称密码不正确。
有没有比抓住Jenkins的网页更简单的方法来完成这项工作?也许完全安装后避免使用此密码屏幕的方法?
谢谢,
比尔
$hostName = $env:computername
if(-not (Test-Path 'C:/Program Files (x86)/Jenkins/secrets/initialAdminPassword'))
{
exit -1
} else {
$password = Get-Content 'C:/Program Files (x86)/Jenkins/secrets/initialAdminPassword'
}
$loginPage = Invoke-WebRequest -Uri "http://$hostName/login?from%2f" -UseBasicParsing -SessionVariable session
$xmlPage = ([xml]$loginPage.Content)
$xmlPage.SelectNodes('//input[@name = "j_password"]').setAttribute('value',$password)
$actionPath = $xmlPage.SelectNodes('//form').action
$responsePage = Invoke-WebRequest -Uri "http://$hostName/$actionPath" -UseBasicParsing -WebSession $session -Body ($xmlPage.SelectNodes('//input').OuterXML) -Method Post
答案 0 :(得分:2)
创建文件${JENKINS_HOME}/jenkins.install.InstallUtil.lastExecVersion
并将内容设置为2.0
,不包含任何行终止符。
此外,您可以使用以下密钥-Djenkins.install.runSetupWizard=false
启动Jenkins以避免初始设置向导。
How to "Unlock Jenkins"?或Configure Jenkins 2.0 with Ansible
另外,看看这里,似乎标志被修改了一点:https://groups.google.com/forum/#!msg/jenkinsci-users/Pb4QZVc2-f0/ywKqZVf9MgAJ