3

会社に自動インストーラーを提供したいと考えています。そのため、開発者は非常に長いインストール ガイドを使用してワークベンチをセットアップする必要がありません。90%を提供することができました。

先週、インストール中に Jenkins を構成する必要があるというメールを受け取りました。プロキシ設定の構成の最初の部分は、groovy スクリプトを使用します。

グルーヴィーなファイル:

pc = new hudson.ProxyConfiguration(name, port, userName, password, noProxyHost);
jenkins.model.Jenkins.instance.proxy = pc;
println "Jenkins-Proxy settings updated!

コマンドライン

type set setJenkinsProxy.groovy | java -jar jenkins-cli.jar -s 
http://localhost:8080/jenkins groovy =

次の部分は、既にインストールされている JDK を設定することです。最初に考えたのは、groovy スクリプトを使用して JDK を設定することでした。

グルーヴィーなファイル:

jdk = new hudson.model.JDK(name, home, list);
jdklist = []
jdklist.add(jdk)
jenkins.model.Jenkins.instance.JDKs = jdk;
println "JDK settings updated!

jenkins-cli.jar を使用する実行可能な .jar ファイルを使用しても、機能しませんでした。

JDK.jar

public static void main(String[] args) {

            JDK jdk = new JDK(args[0], args[1]);

            List<JDK> jdklist = new ArrayList<JDK>();
            jdklist.add(jdk);
            jenkins.model.Jenkins.jdks = jdklist;

            System.out.println("Jenkins JDK set!");

        }

この環境を設定する適切な方法はありますか? どんな方法でも助けていただければ幸いです。

編集:ジェンキンスの場所と電子メール通知も設定したいと思います。

4

4 に答える 4

2

init.groovy.d同じことをジェンキンスのスクリプトで動作させようとしているときに、この質問に出くわしました。次のスクリプトを使用して、JDKを自動インストールすることができました。

import jenkins.model.*
import hudson.model.*
import hudson.tools.*

def inst = Jenkins.getInstance()

def desc = inst.getDescriptor("hudson.model.JDK")

def versions = [
  "jdk8": "jdk-8u102-oth-JPR"
]
def installations = [];

for (v in versions) {
  def installer = new JDKInstaller(v.value, true)
  def installerProps = new InstallSourceProperty([installer])
  def installation = new JDK(v.key, "", [installerProps])
  installations.push(installation)
}

desc.setInstallations(installations.toArray(new JDK[0]))

desc.save()  
// Required: enter credentials at http://l:8080/descriptorByName/hudson.tools.JDKInstaller/enterCredential
于 2016-10-12T21:35:42.200 に答える
2

ここでは、jdk を設定する例 (コマンドライン経由で実行される groovy スクリプト)

name = "Java";
home = "C:\\Program Files\\Java\\jdk1.7.0_40";
list = null;

dis = new hudson.model.JDK.DescriptorImpl();
dis.setInstallations( new hudson.model.JDK(name, home));

println "JDK settings updated!"
于 2013-11-08T09:21:00.587 に答える
0

インストール後にJenkinsでLocationConfigurationを設定するものをようやく見つけました。したがって、誰かがそれを必要とする場合、これは jenkins-cli.jar で実行可能な groovy スクリプトです。

liste = new File('filename to read from').readLines()

jlc = new jenkins.model.JenkinsLocationConfiguration();
println jlc.getUrl()
println jlc.getAdminAddress()
jlc.setUrl("http://" + liste[0] + ":8080/jenkins/");
jlc.setAdminAddress(liste[1]);

println ("Set url to: http://" + liste[0] + ":8080/jenkins/")
println ("Set AdminAddress to: " + liste[1])
println "JenkinsLocation updated!"
于 2013-11-07T15:14:31.500 に答える