一、Jenkins参数
Jenkins的初始化可以通过命令行参数来传递,包括网络、安全、监控等。
1.1 网络参数
| 命令行参数 | 描述 |
|---|---|
| --httpPort=$HTTP_PORT | 监听端口,默认8080,如果要禁用,配置-1. |
| --httpListenAddress=$HTTP_HOST | 监听地址,默认是0.0.0.0 |
| --httpsPort=$HTTPS_PORT | 使用HTTPS协议,配置HTTPS的端口 |
| --httpsListenAddress=$HTTPS_HOST | HTTPS的监听地址 |
| --http2Port=$HTTP_PORT | 使用HTTT2.0协议 |
| --http2ListenAddress=$HTTPS_HOST | HTTP2.0的监听地址 |
| --prefix=$PREFIX | 访问Jenkins的url前缀,如果设置--prefix=jenkins,那么访问路径http://myServer:8080/jenkins
|
| --ajp13Port=$AJP_PORT | AJP13 协议的监听端口,默认是8009,为了禁用(比如要使用https)设置-1
|
| --ajp13ListenAddress=$AJP_ADDR | AJP的监听地址 |
| --sessionTimeout=$TIMEOUT | http会话超时时间,默认是weapp指定的时间,然后是60分钟 |
1.2 其他参数
| 命令行参数 | 描述 |
|---|---|
| --argumentsRealm.passwd. |
设置USER的密码为PASS |
| --argumentsRealm.roles.$USER=admin | 设置USER为管理员 |
| --useJmx | 开启JMX端口 |
Jenkins内置了Winstone servlet container,并且会传递所有的命令行参数给到Winstone,更多可用的Winstone 命令行参数参见 Winstone Command Line Parameter Reference。
命令行参数如果传递错误,Jenkins不会报错,直接忽略,所以要确保参数书写正确。
二、Jenkins的属性
有一些Jenkins的行为是通过Java属性配置的。Java的属性通过Jenkins的启动参数传递。比如-DsomeName=someValue,赋值 someName的值为 someValue 。
详细配置参考Jenkins properties
三、配置HTTPS
如果想配置Jenkins开启HTTPS,可以使用以下配置
--httpPort=-1 \
--httpsPort=443 \
--httpsKeyStore=path/to/keystore \
--httpsKeyStorePassword=keystorePassword
keystore是JKS格式的(可以通过JDK的keytool创建),keystore和目标key具有相同的密码(保证这个参数和--httpsPort参数在一起,否则可能因为其他无法识别的参数,导致参数失效 )。
如果是keystore包含多个证书文件(比如你正在使用CA签发的证书),这时就要使用如下参数,并将keystore转换成PEM格式的。
--httpPort=-1 \
--httpsPort=443 \
--httpsCertificate=path/to/cert \
--httpsPrivateKey=path/to/privatekey