>今年早些时候,我写了一篇有关PHP-CI的文章,您可以用作PHP项目的连续集成工具。在本文中,我表示我仍然最喜欢Jenkins作为CI工具。是时候潜入詹金斯(Jenkins),看看我们如何为我们的PHP项目进行设置。
钥匙要点Jenkins是一种多功能工具,可用于连续集成许多不同的应用程序,包括Web,软件和移动应用程序。它提供了许多选择和可能性,使其对新用户有可能压倒性。
- >
在Ubuntu Server上安装Jenkins 14.04 LTS涉及运行特定命令,以将Jenkins存储库的密钥添加到系统中,将Jenkins添加到Source source.list文件中,最后安装Jenkins。安装后,可以通过浏览器访问Jenkins,通过将端口8080添加到URL的末端。
- >确保詹金斯对于防止未经授权的访问至关重要。这涉及启用安全领域,创建用户数据库,禁用该选项以无需许可即可注册,并使用基于矩阵的安全性或基于项目的矩阵授权策略来设置授权。 。
- >为PHP项目准备Jenkins涉及安装多个插件并创建模板。插件执行任务,例如分析报告并将其转换为图。该模板由塞巴斯蒂安·伯格曼(Sebastian Bergmann)创建,简化了配置新项目的过程。
- 詹金斯简介
- >詹金斯必须提供的内容列表很大,这是由于它拥有丰富的插件系统。基本上,詹金斯只是一种将各种不同的工具和插件连接在一起以为您创建报告的工具。例如,它可以运行phpunit,并随着时间的推移向您显示结果。它可以通过运行PHP -L检查您的PHP代码是否错误。但是,您还可以让Jenkins构建一个项目并输出ZIP文件,您可以用它来部署应用程序。这样做的优点是,您可以将完整的ZIP文件返回以升级您的生产应用程序,而无需在生产服务器上运行Composer或NPM等工具。 Jenkins可用于许多不同的应用程序。您可以将其用于用PHP编写的Web应用程序,还可以用于使用Java或任何其他语言编写的软件和移动应用程序。这使Jenkins成为一种非常通用的工具,对于处理许多不同项目的公司非常有趣。
我们将主要关注PHP代码的质量,但最终我们还将简要介绍分析我们的HTML,CSS和JavaScript,这些HTML,CSS和JavaScript与PHP密切协调。
>安装Jenkins>您可以在任何流行的操作系统上安装Jenkins。对于本文,我们将在Ubuntu Server 14.04 LTS上安装Jenkins。如果您使用的是其他操作系统,则可以在此处检查每个操作系统的安装说明。在Ubuntu上安装Jenkins的最简单方法是运行此命令。
但是,您现在正在安装位于Ubuntu存储库中的Jenkins。詹金斯本身建议直接从詹金斯存储库安装。首先,我们将密钥添加到存储库的系统中。
><span>sudo apt-get install jenkins</span>
现在,我们运行以下命令将jenkins添加到源。list文件。
><span>wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -</span>
现在我们准备安装jenkins。
<span>deb http://pkg.jenkins-ci.org/debian binary/</span>
完成后,Jenkins已成功安装在您的服务器上。
sudo apt-get update
<span>sudo apt-get install jenkins</span>
>现在,您可以通过将端口8080添加到URL末端,通过浏览器到达Jenkins。因此,想象一下我的服务器命名为ci.myserver.com。
。确保Jenkins
>您应该注意的第一件事是詹金斯完全开放。现在,任何去此URL的人都可以执行各种不同的任务,因此我们要做的第一件事就是确保它。我们首先单击“侧边栏”菜单中的詹金斯。詹金斯(Jenkins)的通知将向我们打招呼,建议保护CI服务器。
单击“设置安全”按钮继续。在下一页上,标记启用安全复选框。以下步骤对于正确遵循至关重要,因为很容易将自己锁定在詹金斯(Jenkins)之外。如果发生这种情况,您可以按照以下步骤再次访问。
>>您需要做的第一件事是设置您的安全领域。最简单的是让詹金斯(Jenkins)在詹金斯(Jenkins)自己的用户数据库面前标记复选框,拥有自己的用户数据库。确保还启用了允许用户注册选项。现在,通过单击“保存”来保存配置。
>通过单击“管理詹金斯”,然后单击“配置全局安全”,返回到安全设置。现在,您应该取消选中的允许用户注册复选框,以确保未经您的许可就无法创建新的帐户。
接下来,我们将设置授权。最佳选择是基于矩阵的安全性或基于项目的矩阵授权策略。这使您可以根据用户设置他们可以和不能执行的操作。如果您选择后一个选项,则每个项目都可以设置此功能。目前,我要选择基于矩阵的安全性。
现在显示具有权限的表。您只会看到一个表行,您可以在其中定义匿名用户可以做什么。但是,我们要为自己的用户帐户设置权限。因此,在下面的框中填写您的用户名,然后单击“添加”。为了确保您可以访问所有内容,您可以全部检查它们。最后,这就是它的外观。
注意:请小心大写字母。彼得和彼得是2个不同的用户帐户,因此请确保您在两种情况下填写正确的用户名。 保存时,您将自动登录。请注意,除了登录表单外,您再也看不到任何东西了。登录后,您应该像以前一样访问所有内容。如果遇到许可错误,则犯了一个错误,要么必须更改设置,要么将自己锁定在詹金斯(Jenkins)之外。在后一种情况下,请参见上面的链接。>
准备詹金斯到目前为止,我们一直在忙于安装和固定詹金斯。现在是时候配置Jenkins,以便我们可以开始构建和分析PHP项目了。塞巴斯蒂安·伯格曼(Sebastian Bergmann)创建了一个出色的网站,向您展示了如何为PHP设置Jenkins。我们将执行与记录相同的步骤,但顺序略有不同。
>>安装插件
首先,我们需要将几个插件安装到Jenkins中。插件是詹金斯(Jenkins)的小型扩展,可以为您执行任务,例如分析报告并将其转换为图形。我们将需要以下插件列表才能开始。
>checkStyle
cloverphp
- crap4j
- htmlpublisher
- jdepend
- 情节
- pmd
- 违规
- > xunit
- >我们将通过接口安装这些插件。如果您对命令行感到更有经验或更舒适,则可以查看此文档,以查看如何通过命令行安装它们。另外,该页面将为您提供有关每个插件将要做什么的简短说明。
- >在詹金斯(Jenkins)内,去管理詹金斯(Jenkins),然后管理插件。单击名称可用的选项卡。在这里,您将看到所有可用插件的完整列表。使用右上角的过滤器,您可以快速搜索每个插件。确保通过选中复选框安装上面提到的插件的完整列表。
>在安装完成后,请检查重新启动Jenkins的复选框,并且在所有工作完成时都没有工作来重新启动Jenkins。重新启动后,所有必需的插件已正确安装。
>创建模板
>设置詹金斯时,我们通常从创建一个项目开始,有时称为作业。一个项目通常是您获得的一个PHP项目。在一个项目中,您将有几个构建。您可以在某些时刻配置Jenkins来分析(构建)代码。例如,可以安排时间间隔,也可以按照贡献者的拉动请求进行拉动请求。因此,一个项目随着时间的推移包含多个构建,每个项目都是对您的代码的单独分析。多亏了我们安装的插件,您将能够以不错的图表看到这些构建的结果。在这些图中,如果某个构建提高或降低了项目质量,则可以快速发现。我们还可以根据所有工具来查看我们需要在哪里改进代码的位置。
>>我们现在可以创建一个新项目。但是,我们还需要配置此项目。例如,我们可以配置每次运行phpunit,都应创建一个代码覆盖页面,以便我们可以查看测试了哪些代码以及未经测试的代码。我们需要在一个新项目上配置很多测试,这可能很耗时。幸运的是,塞巴斯蒂安·伯格曼(Sebastian Bergmann)也创建了一个我们将要使用的模板。
>我们需要打开命令行才能安装此模板。最简单的方法是下载提供的CLI工具Jenkins提供。但是,问题是我们早些时候确保了詹金斯的安装。这意味着我们必须将安全性打开回匿名或将公共/私钥连接到我们的帐户。
在这种情况下,我们正在寻找一种安装模板的替代方法。首先,登录命令行上的用户jenkins,然后转到主目录。>
<span>sudo apt-get install jenkins</span>在主目录中,进入工作目录并创建一个名为php-template的新目录。
<span>wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -</span>现在,我们将输入此目录并添加配置文件。
现在,我们需要詹金斯重新加载其配置。您可以通过返回Web界面来执行此操作,单击“管理Jenkins”,然后单击磁盘中的重新加载配置。詹金斯现在将重新加载其配置。完成后,您应该在主概述页面上查看php-template项目。
<span>deb http://pkg.jenkins-ci.org/debian binary/</span>>
>詹金斯现在已经准备好了。我们可以基于此模板创建新项目。
结论
在本文中,我们安装,有保证并准备了Jenkins,以开始分析我们的PHP项目。在下一部分中,我们将添加我们的项目,准备它,当然也可以分析。在安装和确保Jenkins >确保詹金斯的最佳实践是什么?首先,确保Jenkins在自己的用户帐户中运行,其特权有限,以最大程度地减少安全漏洞的潜在损失。其次,在“配置全局安全”部分中启用安全性,并选择用于身份验证的安全领域。第三,将基于基于矩阵的安全性或基于项目的矩阵授权策略进行授权。第四,确保所有Jenkins插件和Jenkins Core始终是最新的。最后,定期备份您的Jenkins设置以防止数据丢失。>
>如何在jenkins中启用安全性?
启用Jenkins的安全性,导航以管理Jenkins>配置全球安全性。检查启用安全框。在访问控制部分中,选择用于身份验证的安全领域。詹金斯(Jenkins)提供了几种选项,包括詹金斯(Jenkins)自己的用户数据库,LDAP等。允许为每个用户或组指定不同的权限。它可以对用户或组可以执行的操作进行细粒度的控制。要使用它,您需要安装基于角色的授权策略插件。
>>如何保持我的jenkins插件和核心插件和核心最新?更新插件和核心。导航到管理詹金斯>管理插件>更新选项卡。在这里,您可以看到已安装的插件的可用更新。要更新Jenkins Core,请转到管理Jenkins>“管理插件”>“高级”选项卡,然后单击“更新站点”部分中的“现在的检查”按钮。
如何备份我的jenkins设置?备份詹金斯设置对于防止数据丢失至关重要。您可以使用Shinebackup插件来备份Jenkins设置。它允许安排备份并从备份中恢复。
>如何限制Jenkins用户帐户的特权?
限制Jenkins用户帐户的特权,创建一个专门用于专门用于的新用户帐户跑步詹金斯。该用户帐户不应具有Sudo特权或能够登录到系统。 >>如何在Jenkins中安装基于角色的授权策略插件?搜索基于角色的授权策略插件,选择它,然后单击“无重新启动”按钮的安装。
jenkins中的安全领域是什么?
>
jenkins中的安全领域用于使用验证。它决定了用户的身份验证。詹金斯(Jenkins)提供了几种选项,包括詹金斯(Jenkins)自己的用户数据库,LDAP等。导航到管理Jenkins>配置全局安全性。在CSRF保护部分中,请选中“预防跨站点请求伪造框”框,然后选择默认的Crumb发行者。
>
>如何在jenkins中启用安全性?启用Jenkins的安全性,导航以管理Jenkins>配置全球安全性。检查启用安全框。在访问控制部分中,选择用于身份验证的安全领域。詹金斯(Jenkins)提供了几种选项,包括詹金斯(Jenkins)自己的用户数据库,LDAP等。允许为每个用户或组指定不同的权限。它可以对用户或组可以执行的操作进行细粒度的控制。要使用它,您需要安装基于角色的授权策略插件。
>>如何保持我的jenkins插件和核心插件和核心最新?更新插件和核心。导航到管理詹金斯>管理插件>更新选项卡。在这里,您可以看到已安装的插件的可用更新。要更新Jenkins Core,请转到管理Jenkins>“管理插件”>“高级”选项卡,然后单击“更新站点”部分中的“现在的检查”按钮。
如何备份我的jenkins设置?备份詹金斯设置对于防止数据丢失至关重要。您可以使用Shinebackup插件来备份Jenkins设置。它允许安排备份并从备份中恢复。
>如何限制Jenkins用户帐户的特权?
>如何在Jenkins中安装基于角色的授权策略插件?搜索基于角色的授权策略插件,选择它,然后单击“无重新启动”按钮的安装。
jenkins中的安全领域是什么?
>
jenkins中的安全领域用于使用验证。它决定了用户的身份验证。詹金斯(Jenkins)提供了几种选项,包括詹金斯(Jenkins)自己的用户数据库,LDAP等。导航到管理Jenkins>配置全局安全性。在CSRF保护部分中,请选中“预防跨站点请求伪造框”框,然后选择默认的Crumb发行者。以上是安装和固定詹金斯的详细内容。更多信息请关注PHP中文网其他相关文章!

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

Laravel框架的Storage::download方法提供了一个简洁的API,用于安全地处理文件下载,同时管理文件存储的抽象。 以下是一个在示例控制器中使用Storage::download()的例子:

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸

PHP日志记录对于监视和调试Web应用程序以及捕获关键事件,错误和运行时行为至关重要。它为系统性能提供了宝贵的见解,有助于识别问题并支持更快的故障排除

Laravel的服务容器和服务提供商是其架构的基础。 本文探讨了服务容器,详细信息服务提供商创建,注册,并通过示例演示了实际用法。 我们将从OVE开始


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript开发工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 Linux新版
SublimeText3 Linux最新版

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。