使用 Wercker 进行自动化部署

在本教程中,我们将设置一个基本的 Hugo 项目,然后配置一个名为 Wercker 的免费工具,以便在我们添加文章时自动部署生成的站点。我们会将它部署到 GitHub 页面,因为这是最容易设置的,但您会看到我们可以使用任何东西。本教程将带您完成该过程的每一步,并附有屏幕截图并且相当长。

本教程假设您知道如何使用 git 进行版本控制,并拥有一个 GitHub 帐户。如果您不熟悉这些,GitHub在他们的帮助部分解释了如何安装和使用 git,您也可以轻松注册一个免费的 GitHub 帐户。

创建一个基本的 Hugo 站点

已经有一些页面专门用于描述如何设置 Hugo 站点,因此在我们深入了解 Wercker 配置之前,我们将只完成启动和运行站点所需的最基本步骤。设置项目的所有工作都是使用命令行完成的,并且尽可能简单。

使用hugo new site命令创建新站点,然后我们进入它。

hugo new site hugo-wercker-example
cd hugo-wercker-example

通过使用以下命令将其克隆到主题目录中来添加鲱鱼湾主题

mkdir themes
cd themes
git clone https://github.com/spf13/herring-cove.git

像这样克隆项目会和我们自己的版本控制冲突,所以我们去掉外部的git配置

rm -rf herring-cove/.git

让我们添加一个快速关于页面。

hugo new about.md

现在我们将编辑 contents/about.md 以确保它不再是草稿并向其添加一些文本。

hugo undraft doc/content/about.md

完成后,最好通过运行快速检查一下是否一切正常

hugo server --theme=herring-cove

如果一切正常,当您在浏览器中访问 localhost:1313 时,您应该能够看到类似于下图的内容。

设置版本控制

将 git 添加到我们的项目是通过git init从项目的根目录运行命令来完成的。

git init

此时运行git status将显示 p 个条目:config.toml文件、themes目录、contents目录和public目录。但是,我们不希望控制公共目录版本,因为稍后我们将使用 wercker 生成它。因此,我们将添加一个 gitignore 文件,使用以下命令将其排除在外。

echo "/public" >> .gitignore

由于我们目前在主题目录之外没有静态文件,因此当我们稍后尝试构建站点时,Wercker 可能会抱怨。为了防止这种情况,我们只需将任何文件添加到静态文件夹中。现在为了简单起见,我们将添加一个 robots.txt 文件,该文件将使所有搜索引擎在站点启动时完全访问该站点。

echo "User-agent: *nDisallow:" > static/robots.txt

在此之后,我们可以将所有内容添加到存储库中。

git commit -a -m "Initial commit"

将项目添加到 GitHub

首先,我们将创建一个新的存储库。您可以通过单击右上角的+号或访问https://github.com/new 来执行此操作

然后,我们为项目选择一个名称(hugo-wercker-example)。单击创建存储库时,GitHub 会显示用于将现有项目添加到站点的命令。下面显示的命令是用于此站点的命令,如果您按照以下步骤操作,则需要使用 GitHub 显示的命令。一旦我们运行了这些命令,项目就在 GitHub 中,我们可以继续设置 Wercker 配置。

git remote add origin [email protected]:YourUsername/hugo-wercker-example.git
git push -u origin master

欢迎来到威克

让我们从为 Wercker 设置一个帐户开始。为此,我们将转到http://wercker.com并单击“注册”按钮。

登记

为了让我们的生活更轻松,我们将使用 GitHub 进行注册。如果您没有 GitHub 帐户,或者不想将其用于您的帐户,您当然也可以使用用户名和密码进行注册。

连接 GitHub/Bitbucket

注册后,您需要将您的 GitHub 和/或 Bitbucket 帐户链接到 Wercker。您可以通过转到您的个人资料设置,然后“Git 连接”来完成此操作。如果您使用 GitHub 注册,它很可能如下图所示。要连接缺失的服务,只需单击连接按钮,然后将您发送到 GitHub 或 Bitbucket,您可能需要在其中登录并批准他们访问您的帐户。

添加您的项目

现在我们已经完成了所有的准备工作,是时候设置我们的应用程序了。为此,我们单击Applications 旁边的+ Create按钮,然后我们将选择使用 GitHub 作为我们的提供者。

选择一个仓库

单击此按钮将使 Wercker 向您显示您在 GitHub 上拥有的所有存储库,但您也可以轻松过滤它们。因此,我们搜索我们的存储库,选择它,然后单击“使用选定的存储库”。

选择仓库所有者

在下一步中,Wercker 要求您选择存储库所有者。只需选择您自己的 GitHub 帐户并继续。

配置访问

这一步可能有点棘手。由于默认情况下 Wercker 无法查看您的私人项目,因此它会询问您想要做什么。当您的项目是公开的时,如果您希望使用 GitHub Pages,则建议使用首选。当你使用它时,它会像在 GitHub 上访问该项目的任何人一样简单地检查代码。

维尔克.yml

Wercker 现在将尝试为您创建初始wercker.yml文件。或者更确切地说,它将创建您可以自己复制到其中的代码。因为根据 Wercker 的说法,我们的项目没有什么特别之处,所以我们只会拿到debian盒子。所以我们现在要做的是在我们项目的根目录中创建一个wercker.yml文件,其中包含提供的配置,在我们完成设置应用程序后,我们将扩展这个文件以使其实际执行某些操作。

公开与否

这是个人选择,您可以将应用程序公开,以便每个人都可以看到有关它的更多详细信息。总的来说,这不会给您带来任何真正的好处,尽管作为教程的一部分,我当然已将此应用程序公开,以便您可以亲自查看它的运行情况。

我们有一个应用程序

现在添加了该应用程序,Wercker 将为您提供触发构建的机会。但是,由于我们尚未推送wercker.yml文件,因此我们将礼貌地拒绝此选项。

添加步骤

现在我们要添加步骤本身。首先,我们转到顶部菜单中的“注册表”操作,然后搜索“hugo build”。第一个结果是我们选择的Hugo-Build任务。

使用 Hugo-Build

在此步骤的详细信息中,您将看到如何使用它。顶部是非常基本用法的摘要,但向下滚动时,您会浏览该步骤的自述文件,其中通常包含有关可用高级选项的更多详细信息以及使用该步骤的完整示例。

我们不会使用本教程中的任何高级功能,因此我们将返回到我们的项目并将所需的详细信息添加到我们的 wercker.yml 文件中,使其如下所示。Wercker 也有一个用于验证 wercker.yml 文件的页面,在提交更改之前这样做通常是个好主意,因为轻微的拼写错误可能会导致它失败。

box: debian
build:
  steps:
    - arjen/hugo-build:
        version: "0.14"
        theme: herring-cove
        flags: --buildDrafts=true

第一步到此结束,因此我们将通过推送我们的 wercker.yml 文件并查看工作中的魔法来测试它是否一切正常。

git commit -a -m "Add wercker.yml"
git push origin master

完成后,您的第一个构建前面应该会出现一个不错的勾号,如果您愿意,可以单击它查看详细信息。但是,我们还没有完成,因为我们仍然需要将它部署到 GitHub Pages。

添加 GitHub 页面步骤

为了部署到 GitHub Pages,我们需要添加一个部署步骤。再次搜索 Steps 存储库,我们发现最受欢迎的步骤是lukevevier/gh-pages步骤,因此我们将其配置添加到我们的 wercker.yml 文件中。此外,我们需要确保我们运行的机器安装了 git 和 ssh。我们可以使用install-packages命令执行此操作,然后将 wercker.yml 文件转换为:

box: debian
build:
  steps:
    - arjen/hugo-build:
        version: "0.14"
        theme: herring-cove
        flags: --buildDrafts=true
deploy:
  steps:
    - install-packages:
        packages: git ssh-client
    - lukevivier/[email protected]:
        token: $GIT_TOKEN
        domain: hugo-wercker.ig.nore.me
        basedir: public

GitHub Pages 配置如何工作?我们选择了一些东西,首先是我们要用于站点的域。在此处进行配置将确保 GitHub Pages 知道您要使用的域。

其次,我们已将 basedir 配置为public,这是将用作 GitHub Pages 上的网站的目录。

最后,你可以在这里看到它有一个$GIT_TOKEN变量。这用于将我们的更改推送到 GitHub,我们需要先配置它,然后才能执行此操作。我们通过转到应用程序的设置并单击Deploy targets 来完成此操作。现在,我们添加部署目标并选择自定义部署

配置部署步骤

只需填写名称,并确保从分支启用自动部署。接下来,您为GIT_TOKEN添加一个变量,为此您需要在 GitHub 中创建一个访问令牌。GitHub 帮助页面上描述了如何执行此操作。通过 Wercker 中配置的部署步骤,我们可以将更新后的 wercker.yml 文件推送到 GitHub,它会为我们创建 GitHub 页面站点。我们在此处使用的示例站点可在 Hugo-wercker.ig.nore.me 下访问

给TA打赏
共{{data.count}}人
人已打赏
网站建设

创建新主题

2021-11-5 17:40:06

网站建设

如何向网站添加社会证明:人们热衷的 7 个例子

2021-11-9 13:18:20

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索