用编码和锻造为Laravel开发CI流程

Codeship使开发人员能够使用基本命令高效地测试和部署web应用程序。今天,我想通过测试和部署一个Laravel应用程序来演示平台的一些特性。 p>,您将需要一些东西: 1. 一个Docker Community Edition的本地实例 2. 3. 一个代码管理帐户 4. 5. 一个Laravel Forge帐户–需要订阅一个DigitalBean或Amazon Web Services帐户 6. 7. 某种类型的源代码管理托管帐户(eg、GitHub、Bitbucket,GitLab)我们的应用程序的本地下载可以在这里找到,这个应用程序的托管(分叉)实例位于您选择的源代码管理托管帐户上,我们将测试和部署一个现有的待办事项列表Laravel应用程序,其源代码可以在这里找到。我们的应用程序是相当简单的,只有一些测试。这里的重点不一定是要展示Laravel的深度挖掘。相反,我们更关注于如何不断地测试和部署应用程序的新更改。一旦你对这里概述的过程有了感觉,我鼓励你用你自己的Laravel应用程序尝试同样的步骤!在我们继续之前,我们对我们的应用程序有几点兴趣:PostgreSQL是我们选择的数据库。 8. 我们正在运行PHP 5.6。 9. 我们正在使用PHP单元测试我们的应用程序。 10. 这三个因素将影响我们如何设置部署和测试管道。此堆栈之外的任何内容都可能需要额外的步骤。记住这一点,让我们继续在Codeship上设置我们的项目!设置我们的代码项目如果您没有代码帐户,可以在此处创建一个。否则,请登录您的帐户并按照初始步骤创建新项目。选择您选择的源代码管理宿主,然后将应用程序连接到Codeship。出现提示时,选择编码基本选项。在配置测试的步骤中,选择[PHP]Laravel选项。这将在我们的应用程序中添加基本的PHP设置和测试命令。默认命令为我们提供了所需的一切,但我们还需要添加一个命令:1setup commands 1# We support all major PHP versions. Please see our documentation for a full list. 2# https://documentation.codeship.com/basic/languages-frameworks/php/ 3# 4# By default we use the latest PHP version from the 5.5 release branch, but Laravel 5# requires at least version 5.6.4 6phpenv local 5.6 7 8# Prepare cache directory and install dependencies 9mkdir -p ./bootstrap/cache1011# NEW ADDITION - Create Postgresql Database12psql -c \"CREATE DATABASE todos\"1314composer install --no-interaction1516# Prepare the test database17php artisan migrate这个简单的代码版本将允许我们创建一个PostgreSQL数据库来运行我们的测试。如果您查看下面的测试管道,您应该会看到PHP单元是您的默认选项。如果您想使用另一个测试框架,您完全可以自由地这样做!然而,我们将继续使用PHP单元。我们对PHP单元的调用应该是这样的:1test pipeline1vendor/bin/phpunit这将在您的应用程序在代码传送服务器上设置后调用测试运行程序。Finally,在进入Laravel Forge之前,我们还需要完成一个步骤:设置代码生成环境。在项目设置下,选择环境选项卡。在此选项卡中,您应该能够编辑和创建构建环境的各种环境变量。我们的应用程序将使用以下环境变量:设置这些变量后,我们现在应该能够完成成功的构建!推送新更改或强制推送现有应用程序以触发新的基于代码的构建。一旦您发现构建成功,我们就可以继续配置Laravel Forge。设置Laravel Forge,正如我前面提到的,您将需要一个Laravel Forge帐户。不幸的是,Forge不是一项免费服务,因此您必须先订阅它,然后才能继续。创建帐户时,您有几个选项可以创建服务器。在本文中,我们将使用DigitalOcean。然而,像往常一样,你可以在这里自由地开辟自己的道路!您需要创建一个至少有1GB内存的服务器。我们的基本待办事项列表应用程序可以很好地处理这个数量的RAM。然而,许多更大、更复杂的应用程序可能无法仅处理1GB RAM。记住这一点,选择您的服务器首选项并创建服务器。创建过程需要几分钟。一旦创建了服务器,我们将从源代码管理连接我们的Laravel应用程序。按照您选择的源代码管理提供程序的说明进行操作。如果您使用的是To Do list应用程序,我们的部署将在第一次尝试时失败。这是因为我们还没有设置环境变量。在站点详细信息选项卡下,应该有一个名为环境的选项。我们希望采用我们在代码系统配置中实现的类似策略。下面是它的外观:> 2APP_KEY=base64:SngFlWlyl3m2YRIVH6OFD9alCJ2WA+B5KGP+>>>> 6>>>1318在这种配置下,我们应该

admin_action_{$_REQUEST[‘action’]}

do_action( "admin_action_{$_REQUEST[‘action’]}" )动作钩子::在发送“Action”请求变量时激发。Action Hook: Fires when an ‘action’ request variable is sent.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$_REQUEST['action']引用从GET或POST请求派生的操作。源码(Source)更新版本源码位置使用被使用2.6.0 wp-admin/admin.php:...

日期:2020-09-02 17:44:16 浏览:1164

admin_footer-{$GLOBALS[‘hook_suffix’]}

do_action( "admin_footer-{$GLOBALS[‘hook_suffix’]}", string $hook_suffix )操作挂钩:在默认页脚脚本之后打印脚本或数据。Action Hook: Print scripts or data after the default footer scripts.目录锚点:#说明#参数#源码说明(Description)钩子名的动态部分,$GLOBALS['hook_suffix']引用当前页的全局钩子后缀。参数(Parameters)参数类...

日期:2020-09-02 17:44:20 浏览:1067

customize_save_{$this->id_data[‘base’]}

do_action( "customize_save_{$this->id_data[‘base’]}", WP_Customize_Setting $this )动作钩子::在调用WP_Customize_Setting::save()方法时激发。Action Hook: Fires when the WP_Customize_Setting::save() method is called.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_data...

日期:2020-08-15 15:47:24 浏览:803

customize_value_{$this->id_data[‘base’]}

apply_filters( "customize_value_{$this->id_data[‘base’]}", mixed $default )过滤器::过滤未作为主题模式或选项处理的自定义设置值。Filter Hook: Filter a Customize setting value not handled as a theme_mod or option.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_date['base'],指的是设置...

日期:2020-08-15 15:47:24 浏览:893

get_comment_author_url

过滤钩子:过滤评论作者的URL。Filter Hook: Filters the comment author’s URL.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/comment-template.php:32610...

日期:2020-08-10 23:06:14 浏览:928

network_admin_edit_{$_GET[‘action’]}

do_action( "network_admin_edit_{$_GET[‘action’]}" )操作挂钩:启动请求的处理程序操作。Action Hook: Fires the requested handler action.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$u GET['action']引用请求的操作的名称。源码(Source)更新版本源码位置使用被使用3.1.0 wp-admin/network/edit.php:3600...

日期:2020-08-02 09:56:09 浏览:874

network_sites_updated_message_{$_GET[‘updated’]}

apply_filters( "network_sites_updated_message_{$_GET[‘updated’]}", string $msg )筛选器挂钩:在网络管理中筛选特定的非默认站点更新消息。Filter Hook: Filters a specific, non-default site-updated message in the Network admin.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分$_GET['updated']引用了非默认的...

日期:2020-08-02 09:56:03 浏览:860

pre_wp_is_site_initialized

过滤器::过滤在访问数据库之前是否初始化站点的检查。Filter Hook: Filters the check for whether a site is initialized before the database is accessed.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/ms-site.php:93910...

日期:2020-07-29 10:15:38 浏览:829

WordPress 的SEO 教学:如何在网站中加入关键字(Meta Keywords)与Meta 描述(Meta Description)?

你想在WordPress 中添加关键字和meta 描述吗?关键字和meta 描述使你能够提高网站的SEO。在本文中,我们将向你展示如何在WordPress 中正确添加关键字和meta 描述。为什么要在WordPress 中添加关键字和Meta 描述?关键字和说明让搜寻引擎更了解您的帖子和页面的内容。关键词是人们寻找您发布的内容时,可能会搜索的重要词语或片语。而Meta Description则是对你的页面和文章的简要描述。如果你想要了解更多关于中继标签的资讯,可以参考Google的说明。Meta 关键字和描...

日期:2020-10-03 21:18:25 浏览:1710

谷歌的SEO是什么

SEO (Search Engine Optimization)中文是搜寻引擎最佳化,意思近于「关键字自然排序」、「网站排名优化」。简言之,SEO是以搜索引擎(如Google、Bing)为曝光媒体的行销手法。例如搜寻「wordpress教学」,会看到本站的「WordPress教学:12个课程…」排行Google第一:关键字:wordpress教学、wordpress课程…若搜寻「网站架设」,则会看到另一个网页排名第1:关键字:网站架设、架站…以上两个网页,每月从搜寻引擎导入自然流量,达2万4千:每月「有机搜...

日期:2020-10-30 17:23:57 浏览:1304