脚本通过Jenkins初始密码

时间:2016-12-21 17:56:18

标签: powershell jenkins chef windows-server-2012-r2

我正在尝试设置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

1 个答案:

答案 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