Jenkins是从Hudson项目分配的自动化服务器。 Jenkins是一个运行在Java servlet容器中的基于服务器的应用程序,它支持许多SCM(源代码控制管理)软件系统,包括Git,SVN和Mercurial。 Jenkins提供了数百个插件来自动化您的项目。 由Kohsuke Kawaguchi创建的Jenkins,2011年首先在MIT许可下发布,它是免费软件。
在本教程中,我将向您展示如何在Ubuntu Server 16.04上安装最新的Jenkins版本。 我们将使用我们自己的域名运行Jenkins,我们将安装和配置Jenkins,以在Jenkins的反向代理程序的apache Web服务器下运行。
前提条件
- Ubuntu Server 16.04 - 64bit
- 根特权
第1步 - 安装Java OpenJDK 7
Jenkins基于Java,所以我们需要在服务器上安装Java OpenJDK第7版。 在此步骤中,我们将从首先添加的PPA存储库中安装Java 7。
默认情况下,Ubuntu 16.04没有用于管理PPA存储库的python-software-properties包,因此我们必须首先安装此包。 使用apt命令安装python-software-properties。
apt-get install python-software-properties
接下来,将Java PPA存储库添加到服务器。
add-apt-repository ppa:openjdk-r/ppa
Just Press ENTER
更新Ubuntu存储库并使用apt命令安装Java OpenJDK。
apt-get update
apt-get install openjdk-7-jdk
通过键入以下命令验证安装:
java -version
您将获得服务器上安装的Java版本。
第2步 - 安装Jenkins
Jenkins为安装包提供了一个Ubuntu存储库,我们将从该存储库安装Jenkins。
使用以下命令将Jenkins密钥和存储库添加到系统。
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
echo 'deb https://pkg.jenkins.io/debian-stable binary/' | tee -a /etc/apt/sources.list
更新存储库并安装Jenkins。
apt-get update
apt-get install jenkins
安装完成后,使用此systemctl命令启动Jenkins。
systemctl start jenkins
通过检查Jenkins使用的默认端口(端口8080)来验证Jenkins是否正在运行。 我将使用以下netstat命令检查它:
netstat -plntu
Jenkins在端口8080上安装并运行。
第3步 - 安装并配置Apache作为Jenkins的反向代理
在本教程中,我们将在一个apache web服务器之后运行Jenkins,我们将配置apache作为Jenkins的反向代理。 首先我将安装apache并启用一些需要的模块,然后我将为Jenkins创建域名为my.jenkins.id的虚拟主机文件。 请在这里使用您自己的域名,并将其替换为所有配置文件。
从Ubuntu存储库安装apache2 Web服务器。
apt-get install apache2
安装完成后,启用代理和proxy_http模块,以便我们可以将apache配置为Jenkins的前端服务器/反向代理。
a2enmod proxy
a2enmod proxy_http
接下来,在sites-available目录中创建一个新的虚拟主机文件。
cd /etc/apache2/sites-available/
vim jenkins.conf
在下面粘贴虚拟主机配置。
<Virtualhost *:80>
ServerName my.jenkins.id
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
<Proxy http://localhost:8080/*>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8080/ nocanon
ProxyPassReverse / http://localhost:8080/
ProxyPassReverse / http://my.jenkins.id/
</Virtualhost>
保存文件。 然后用a2ensite命令激活Jenkins虚拟主机。
a2ensite jenkins
重新启动Apache和Jenkins。
systemctl restart apache2
systemctl restart jenkins
检查Jenkins和Apache使用的端口80和8000。
netstat -plntu
第4步 - 配置Jenkins
Jenkins正在域名'my.jenkins.id'上运行。 打开网页浏览器并输入网址。 您将收到要求您输入初始管理员密码的屏幕。 Jenkins已经生成了一个密码,所以我们只需要显示并将结果复制到密码框中。
显示初始管理员密码Jenkins与cat命令。
cat /var/lib/jenkins/secrets/initialAdminPassword
a1789d1561bf413c938122c599cf65c9
将结果粘贴到屏幕上,然后单击“ 继续 ”。
现在我们应该在Jenkins中安装一些插件,以便以后使用。 选择“ 安装建议的插件 ”,点击它。
Jenkins插件安装正在进行中。
插件安装后,我们必须创建一个新的管理员密码。 输入您的管理员用户名,密码,电子邮件等,然后点击“ 保存并完成 ”。
点击开始,开始使用Jenkins。 您将被重定向到Jenkins管理控制面板。
Jenkins安装和配置成功完成
第5步 - Jenkins安全
从Jenkins管理仪表板,我们需要配置Jenkins的标准安全设置,点击“ 管理Jenkins ”,然后点击“ 配置全局安全 ”。
Jenkins在“ 访问控制 ”部分提供了几种授权方法。 我选择“ 基于矩阵的安全 ”来控制所有的用户权限。 在“ 用户/组 ”框中启用管理员用户,然后单击添加 。 通过检查所有选项给管理员所有权限,并给匿名只读权限。 现在点击“ 保存 ”。
您将被重定向到仪表板,如果有登录选项,只需键入您的管理员用户和密码。
第6步 - 测试简单的自动化作业
在本节中,我只是想为Jenkins服务器测试一个简单的工作。 我将创建一个简单的工作来测试Jenkins,并使用top命令找出服务器负载。
从Jenkins管理员信息板中,单击“ 创建新作业 ”。
输入作业名称,我将在此使用“检查系统”,选择“ 自由式项目 ”,然后单击“ 确定 ”。
转到“ 构建 ”选项卡。 在“ 添加构建步骤 ”中,选择“ 执行shell ”选项。
输入下面的命令到框中。
top -b -n 1 | head -n 5
点击“ 保存 ”。
现在你正在工作“工程检查系统”的工作页面上。 单击“ 立即生成 ”以执行作业“检查系统”。
作业执行完毕后,您将看到“ 构建历史记录 ”,单击第一个作业以查看结果。
这是Jenkins执行的工作的结果。
在Ubuntu 16.04上安装Apache Web服务器的Jenkins成功完成。