Serverless 框架自动化部署实践

概述

Serverless框架是一个轻量级的开发框架,可以帮助我们快速构建和部署无服务器应用程序。Serverless 和 AWS Lambda、Azure Functions、Google Cloud Functions 等云服务提供商一起工作,也支持自定义的云服务。

在这篇文章中,我们将深入探讨如何使用Serverless框架来自动化部署和管理应用程序,以便您可以更快、更可靠地交付您的应用程序。

Serverless框架入门

使用Serverless框架时,我们需要先安装它。因此,我们需要使用Node.js和npm来安装。

在命令行中输入以下命令以安装Serverless框架:

--- ------- -- ----------

安装完成后,我们需要检查一下Serverless框架的版本。请在命令行中输入以下命令:

---------- -------

您将看到以下输出:

--------- ----- -----
------- -----
---- -----
----------- -----

如果您看到输出,就说明您已经正确安装了Serverless框架,并且准备好了使用。接下来我们将建立一个Serverless项目。

运行以下命令以创建一个新的项目:

--- ------ -- ---------- -- --------------

如果您想使用其他模板,Serverless框架还提供了其他选项,例如aws-nodejs-typescriptaws-python3

在执行上述命令后,将会创建一个新的目录,名为my-new-service,其中包含了项目的模板文件。

编写Serverless应用程序

在成功创建了Serverless项目之后,我们将使用一些简单的代码来体验它。

在项目根目录下,创建一个新的文件夹src,并在其中添加文件handler.js

---- --------

-------------------- - ------- -------- --------- -- -
  ----- ------- - -
    -------- ------ --- ---------- ----- ---------- ------------
    ------ ------
  --

  -------------- -
    ----------- ----
    ----- ------------------------
  ---
--

这个hello函数将在我们的API接口上响应内容。

接下来,我们要在serverless.yml文件中仔细查看serverless.yml文件中的配置和服务和函数的定义。

-------- --------------

---------
  ----- ---
  -------- ----------

----------
  ------
    -------- -----------------
    -------
      - -----
          ----- -----
          ------- ---

这段代码定义了我们的服务和函数。其中,service属性是我们的服务名称;provider属性提供了与AWS相关的信息;functions属性定义了函数列表。

在这个示例中,我们有一个名为hello的函数,很明显是在响应/hello的 GET请求。我们使用handler属性指定了每个模块退出处理程序,事件是HTTP GET请求。

部署Serverless应用程序

在本节中,我们将部署我们的应用程序,使我们的API接口可以被公开访问。

运行以下命令以部署我们的应用程序:

--- ------

这将使Serverless框架采用由serverless.yml文件定义的配置和文件,创建和配置AWS服务和功能,并确保公开访问这个应用程序的API。

在部署完成之后,您可以访问它,您将看到以下输出:

-
  ---------- ------ --- ---------- ----- ---------- ------------
  -------- --
-

您刚刚成功使用Serverless框架构建了一个完全用于API服务的无服务器应用程序,并部署了它。

Serverless框架自动化部署实践

Serverless框架的优点之一是让我们可以使用自动化部署来快速交付应用程序,以最小的努力消除定期重复的手动过程。

在这一部分中,我们将使用构建工具Travis CI实现自动化部署。

Travis对公共存储库是免费的,您可以在上面托管您的代码,以便您能够使用配置文件和脚本来自动部署你的应用程序。

为了在Travis-CI上启用自动化部署,我们需要为它提供我们的AWS密钥和其他凭证。因此,我们需要将这些敏感信息放在我们的AWS账户中。

  1. 创建 IAM 用户(默认情况下,IAM用户无法访问您的AWS帐户)。要这样做,请登录到您的AWS账户并导航到IAM管理控制台。选择Users ,然后Add User。只需的帐户访问类型是程序化(即无法登录到AWS控制台)。输入用户名,然后选择您要为此用户授权的Access Key ID和Secret Access Key,然后保存。

  2. 在Travis CI上启用自动化部署。这在Travis CI->Settings中可以进行操作。在脚本部分中,将以下内容添加到您的Travis CI配置文件中(.travis.yml):

-------
  --------- ------
  ------- --- ------
  ------------- ----
  1. 现在,我们需要将我们AWS密钥添加到Travis环境变量中,以便可以访问AWS服务。在Travis CI上的仪表板中选择More options,然后选择Settings。添加以下环境变量:

    • AWS_ACCESS_KEY_ID
    • AWS_SECRET_ACCESS_KEY
  2. 提交代码并等待部署完成。

现在,每次我们提交代码,就会在AWS上触发自动化部署过程,实现了我们的 Serverless 框架自动化部署实践。

总结

Serverless框架是一个轻量级的开发框架,可以帮助我们快速构建和部署无服务器应用程序。通过使用Serverless框架,我们可以轻松地进行自动化部署,并让交付更快、更可靠。

此外,结合Travis CI等工具,我们可以使自动化部署变得更加简便易行。

示例代码

项目源代码和配置文件可以在以下Github存储库中找到:

https://github.com/serverless/examples/tree/master/aws-node-travis-ci-serverless-framework

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/652a2b287d4982a6ebc8480e


猜你喜欢

相关推荐

    暂无文章