阅读(873) (17)

Jenkins安装

2017-08-14 17:01:03 更新

概述

本节是入门指南的一部分。它提供了许多平台上基本的Jenkins配置的说明。但不涵盖安装Jenkins的全部注意事项或选项。

预安装

这些仅仅是入门,有关因素的全面讨论,请参见硬件建议讨论

系统要求

最小推荐配置:

  • Java 8(JRE或JDK)
  • 256MB可用内存
  • 1GB +可用磁盘空间

推荐配置小团队:

  • Java 8
  • 1GB +免费内存
  • 50GB +可用磁盘空间

实验,分期或生产?

根据您的预期用例,Jenkins的配置将会有很大的不同。本节专门针对初步使用和实验。

独立还是Servlet?

Jenkins可以使用自己的内置Web服务器(Jetty)在自己的进程中独立运行。它也可以作为现有框架中的一个servlet运行,如Tomcat或Glassfish应用程序服务器。本节专门针对独立的安装和执行。

安装

Unix / Linux

在基于Debian的发行版,如Ubuntu,您可以通过安装Jenkins apt。最近的版本在一个apt存储库中可用。旧的但稳定的LTS版本在这个apt存储库

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

此包安装将:

  • 将Jenkins设置为启动时启动的守护程序。查看/etc/init.d/jenkins更多详情。
  • 创建一个jenkins用户来运行这个服务。
  • 直接控制台日志输出到文件/var/log/jenkins/jenkins.log。如果您正在对Jenkins进行故障排除,请检查此文件
  • 填充/etc/default/jenkins启动的配置参数,例如JENKINS_HOME
  • 将Jenkins设置为侦听端口8080.使用浏览器访问此端口以开始配置。
如果你的/etc/init.d/jenkins文件无法启动Jenkins,编辑/etc/default/jenkins,以取代线 ----HTTP_PORT=8080----用----HTTP_PORT=8081---- 在这里,“8081”被选为但你可以把可用的其他端口

OpenIndiana Hipster

在运行OpenIndiana Hipster的系统中, Jenkins可以使用图像打包系统(IPS)安装在本地或全局区域中 。

免责声明:该平台尚未由Jenkins团队正式支持,您自己承担风险。OpenIndiana Hipster团队维护本节中描述的包装和整合,将通用工具捆绑jenkins.war 在该操作环境中。

对于将每周最新打包的版本作为独立(Jetty)服务器运行的常见情况,只需执行:

pkg install jenkins
svcadm enable jenkins

独立服务的常见包装集成将:

  • 创建一个jenkins用户来运行服务并拥有目录结构/var/lib/jenkins。
  • 拉OpenJDK8等执行Jenkins所需的jenkins-core-weekly软件包,包括最新的软件包jenkins.war。长期支持(LTS)Jenkins发行版目前不支持基于OpenZFS的系统,因此目前不提供打包。
  • 将Jenkins设置为SMF服务实例(svc:/network/http:jenkins),然后可以使用svcadm上面显示的命令启用Jenkins 。
  • 设置Jenkins在8080端口上听。
  • 配置由SMF管理的日志输出/var/svc/log/network-http:jenkins.log。

一旦Jenkins运行,请咨询log(/var/svc/log/network-http:jenkins.log)来检索Jenkins初始设置生成的管理员密码,通常会在那里找到/var/lib/jenkins/home/secrets/initialAdminPassword。然后导航到 localhost:8080以完成Jenkins实例的配置。

要更改服务的属性,例如JENKINS_HOME Jetty Web服务器使用的环境变量或端口号,请使用该svccfg实用程序:

svccfg -s svc:/network/http:jenkins editprop
svcadm refresh svc:/network/http:jenkins

您还可以参考/lib/svc/manifest/network/jenkins-standalone.xml有关SMF服务的当前支持的可调参数的更多详细信息和注释。请注意,jenkins由包装创建的用户帐户是特权的,允许绑定到1024以下的端口号。

可以查询给定版本的OpenIndiana的Jenkins相关软件包的当前状态:

pkg info -r '*jenkins*'

可以通过更新整个操作环境pkg update,或专门为Jenkins核心软件执行升级,方法如下:

pkg update jenkins-core-weekly
更新软件包的过程将重新启动当前运行的Jenkins进程。如果需要,请确保在更新之前准备关闭并完成所有正在运行的程序。

Solaris, OmniOS, SmartOS和其他

一般来说,应该足以安装Java8和下载的 jenkins.war,并运行它作为一个独立的进程或应用服务器,比如Apache Tomcat

一些注意事项使用:

  • Headless JVM和字体:对于OpenJDK构建在最小化的脚本系统上,运行Headless JVM可能会出现问题,因为Jenkins需要一些字体来渲染某些页面。
  • ZFS相关的JVM崩溃:当Jenkins在被检测到的系统上运行时SunOS,它会尝试使用捆绑的加载集成高级ZFS功能libzfs.jar,将来自Java的调用映射到libzfs.so主机操作系统提供的本地例程。不幸的是,该库是为了在操作系统中构建和捆绑的二进制实用程序,同时与它一起制作,并不是作为一个稳定界面显示给消费者的。作为Solaris遗留的分支,包括ZFS以及随后的OpenZFS计划的发展,许多不同的二进制功能签名由不同的主机操作系统提供 - 当Jenkins libzfs.jar调用错误的签名时,整个JVM进程崩溃。jenkins.war自从每周发布2.55(至今尚未在任何LTS中)以来,提出并整合了一个解决方案。使管理员能够配置哪些功能签名应该用于已知具有不同变体的每个功能,将其应用于其应用程序服务器初始化选项,然后运行和更新通用而不需要进一步的解决方法。有关更多详细信息,请参阅 libzfs4j Git存储库,包括尝试使用脚本并“锁定”您特定分发所需的配置(特别是如果您的内核更新带来新的不兼容libzfs.so)。

另请注意,OpenZFS计划的分支可能会在各种BSD,Linux和macOS发行版上提供ZFS。一旦Jenkins支持检测ZFS功能,而不是依赖于SunOS检查,则应考虑上述与Jenkins集成ZFS的注意事项。

MACOS

要从网站安装,使用一个包:

jenkins也可以使用brew进行安装:

  • 安装最新版本
brew install jenkins
  • 安装LTS版本
brew install jenkins

Windows

要从网站安装,请使用安装程序:

Docker

您必须在您的机器上正确安装Docker。有关详细信息,请参阅Docker安装指南

首先,从Docker存储库中取出官方的jenkins图像。

docker pull jenkins/jenkins

接下来,使用此映像运行容器并将数据目录从容器映射到主机; 例如在下面的示例中/var/jenkins_home,容器jenkins/从主机上的当前路径映射到目录。jenkins8080接口也显示在主机49001。

docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins/jenkins

安装后(安装向导)

为Jenkins创建管理员用户和密码

Jenkins最初配置为在首次启动时安全。无需使用用户名和密码即可访问Jenkins,并且开放端口有限。在Jenkins的初始运行期间,生成安全令牌并将其打印在控制台日志中:

************************************************** ***********

需要Jenkins初始设置。需要安全令牌才能继续。
请使用以下安全令牌继续安装:

41d2b60b0e4cb5bf2025d33b21cb

************************************************** ***********

以上每个平台的安装说明包括可以找到此日志输出的默认位置。首次打开Jenkins UI时,必须在“安装向导”中输入此令牌。如果您跳过安装向导中的用户创建步骤,此令牌也将作为用户管理员的默认密码。

初始插件安装

安装向导还将安装此Jenkins服务器的初始插件。推荐的可用插件是基于最常见的用例。您可以在安装向导期间自由添加更多内容,然后再根据需要进行安装。