如何在Ubuntu 18.04上使用Apache安装Jenkins Automation Server
Jenkins是Hudson项目中的一个自动化服务器。 Jenkins是一个运行在Java servlet容器中的基于服务器的应用程序,它支持许多SCM(源代码管理)软件系统,包括Git,SVN和Mercurial。 Jenkins提供了数百个插件来自动化您的项目。 Jenkins由Kohsuke Kawaguchi创建,2011年首次在MIT License下发布,它是一款免费软件。
在本教程中,我将向您展示如何在Ubuntu Server 18.04 LTS(仿生海狸)上安装最新稳定的Jenkins版本。 我们将在我们自己的域名上运行Jenkins,并且我们将安装并配置Jenkins以在Apache Web服务器反向代理下运行。
先决条件
- Ubuntu 18.04
- 根特权
我们将要做什么?
- 安装Java
- 安装Jenkins
- 安装并配置Apache2作为Jenkins的反向代理
- 配置UFW防火墙
- 配置Jenkins
- Jenkins安全
- 测试
第1步 - 安装Java
Jenkins是一个基于Java的应用程序,所以我们需要在服务器上安装Java OpenJDK。 在这一步中,我们将从我们将首先添加的PPA存储库安装Java 8。
安装software-properties-common软件包,然后添加java OpenJDK PPA存储库。
sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:openjdk-r/ppa -y
现在使用apt命令安装Java 8。
sudo apt install openjdk-8-jdk -y
安装完成后,检查系统上安装的Java版本。
java -version
并且您将获得Java OpenJDK 1.8现在安装在Ubuntu 18.04系统上。
注意:
- 如果您的系统上有多个Java版本,请使用以下命令更改默认的Java版本。
sudo update-alternatives --config 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。
sudo apt update
sudo apt install jenkins -y
安装完成后,启动Jenkins服务并将其添加到引导时间。
systemctl start jenkins
systemctl enable jenkins
Jenkins现在在Ubuntu 18.04服务器上运行,并运行在默认端口'8080'上。 如下使用netstat检查它。
netstat -plntu
你会得到如下结果。
第3步 - 安装并配置Apache2作为Jenkins的反向代理
在本教程中,我们将在Apache Web服务器后面运行Jenkins,我们将配置Apache作为Jenkins的反向代理。
首先,我们将安装Apache并启用一些require模块,然后我们将为Jenkins创建带有域名jenkins.hakase-labs.io的虚拟主机文件。 请在此处使用您自己的域名,并将其替换为所有配置文件,无论它出现在哪里。
从Ubuntu存储库安装apache2 web服务器。
sudo apt install apache2 -y
安装完成后,启用proxy和proxy_http模块,以便我们可以将Apache配置为Jenkins的前端服务器/反向代理。
a2enmod proxy
a2enmod proxy_http
接下来,在sites-available目录中为Jenkins创建一个新的虚拟主机文件。
cd /etc/apache2/sites-available/
vim jenkins.conf
粘贴下面的虚拟主机配置。
<Virtualhost *:80> ServerName jenkins.hakase-labs.io 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://jenkins.hakase-labs.io/ </Virtualhost>
保存并退出,然后使用a2ensite命令激活Jenkins虚拟主机。
a2ensite jenkins
重新启动Apache和Jenkins服务。
systemctl restart apache2
systemctl restart jenkins
apache2安装和配置作为Jenkins的反向代理已经完成。
第4步 - 配置UFW防火墙
在Ubuntu服务器上启用UFW防火墙之前,我们需要添加基本服务端口,例如SSH,HTTP和HTTPS。
将SSH,HTTP和HTTPS服务添加到ufw防火墙。
ufw allow ssh
ufw allow http
ufw allow https
现在启动并启用ufw防火墙。
ufw enable
输入'y'并按下Enter键。
UFW防火墙现在已启用,并且已添加HTTP端口。
第5步 - 配置Jenkins
Jenkins正在运行域名' http://jenkins.hakase-labs.io '。 打开您的网络浏览器并输入网址。
您会看到屏幕上要求您输入初始管理员密码。 Jenkins已经生成了一个密码,所以我们只需要显示并将结果复制到密码框。
用cat命令显示初始管理员密码Jenkins。
cat /var/lib/jenkins/secrets/initialAdminPassword
将结果粘贴到屏幕上,然后点击“继续”。
现在我们应该在Jenkins中安装一些插件,为以后的使用奠定良好的基础。 选择'安装建议的插件',点击它。
Jenkins插件正在进行安装。
插件安装完成后,我们需要创建一个新的管理密码。 输入你的管理员用户名,密码,电子邮件等,然后点击“保存并继续”。
对于实例配置,输入Jenkins域名'http://jenkins.hakase-labs.io',然后单击'保存并完成'按钮。
现在点击'开始使用Jenkins'按钮。
您将被重定向到Jenkins管理仪表板。
Jenkins的安装和配置已成功完成
第6步 - Jenkins安全
在Jenkins管理仪表板中,我们需要为Jenkins配置标准安全设置,点击'管理Jenkins',然后点击'配置全局安全性'。
Jenkins在“访问控制”部分提供了多种授权方法。 我们将使用“基于矩阵的安全性”,因此我们可以控制所有用户权限。
在'User / Group'框添加'hakase'用户并点击添加。
通过检查所有选项给'hakase'用户提供所有权限,然后单击'保存'按钮。
您将被重定向到仪表板,如果有登录选项,只需输入您的管理员用户名和密码。
第7步 - 测试
在本节中,我们想为Jenkins服务器创建一个简单的工作。 我们将为测试Jenkins创建一个简单的工作,并用top命令找出服务器负载。
从Jenkins管理仪表板中,点击“创建新作业”。
输入作业名称。 我们将在这里使用“检查系统”,选择“Freestyle Project”并点击“确定”。
转到“构建”选项卡。 在“添加构建步骤”中,选择“执行外壳”选项。
在框中输入下面的命令。
top -b -n 1 | head -n 5
点击“保存”。
现在你在“项目检查系统”的工作页面上。 点击'Build Now'来执行作业'检查系统'。
作业执行完毕后,您会看到“构建历史记录”,点击第一个作业查看结果。
这是Jenkins执行的工作的结果。
使用Apache2作为Ubuntu 18.04上的反向代理的Jenkins自动化工具安装和配置已成功完成。