HashiCorp展示了一个新项目
一如既往,HashiCorp 已经将 Waypoint 作为开源版本发布,并且附带了大量示例。 编排器的级别由您决定,Waypoint 作为可执行文件提供,您可以直接在笔记本电脑上运行,也可以从您选择的 CI/CD 编排工具运行。 应用程序部署目标也取决于您,因为 Waypoint 支持 Kubernetes、Docker、Google Cloud Run、AWS ECS 等。
读完精彩内容后
克隆存储库后,让我们看一下显示一页的应用程序的结构:
您可能已经注意到,这个项目中没有 Dockerfile。 它们没有添加到示例中,因为我们并不真正需要它们,因为 Waypoint 会为我们处理它们。 让我们仔细看看该文件 waypoint.hcl
了解它将做什么:
project = "example-nodejs"
app "example-nodejs" {
labels = {
"service" = "example-nodejs",
"env" = "dev"
}
build {
use "pack" {}
registry {
use "aws-ecr" {
region = "us-east-1"
repository = "waypoint-gitlab"
tag = "latest"
}
}
}
deploy {
use "aws-ecs" {
region = "us-east-1"
memory = "512"
}
}
}
在构建阶段,Waypoint 使用 Cloud Native Buildpacks(
镜像构建完成后,Waypoint 会自动将其上传到我们的 AWS ECR 注册表,以便准备发货。 在装配结束时,交付步骤使用
从我的笔记本电脑上这很容易。 我放入了已在我的 AWS 帐户中经过身份验证的 Waypoint,它“正常工作”。 但如果我想要超越笔记本电脑,会发生什么? 或者也许我想自动化此部署,作为当前集成测试、安全测试和其他测试运行的整个 CI/CD 管道的一部分? 这就是 GitLab CI/CD 发挥作用的部分!
注: 如果您只是计划实施 CI/CD 或者想开始应用构建管道的最佳实践,请关注新的 Slurm 课程。
《关于 Gitlab CI 的 CI/CD 示例》 。 现在可以按预购价格购买。
GitLab CI/CD 中的路点
为了在 GitLab CI/CD 中协调所有这些,让我们看看我们的文件中需要什么 .gitlab-ci.yml
:
- 首先,您需要一个基础映像才能在其中运行。 Waypoint可以在任何Linux发行版上运行,它只需要Docker,因此我们可以使用通用的Docker镜像来运行。
- 接下来,您需要将 Waypoint 安装到该映像中。 未来我们可能会收集
元构建镜像 并为自己容器化这个过程。 - 最后我们将运行 Waypoint 命令
以上是我们的管道运行执行部署所需的脚本所需的一切,但要部署到 AWS,我们还需要一件事:我们必须登录到我们的 AWS 帐户。 在航点描述中
AWS 上的 GitLab CICD 身份验证有多种选项。 第一个选项是使用内置的 AWS_ACCESS_KEY_ID
и AWS_SECRET_ACCESS_KEY
.
把它们放在一起
一旦我们弄清楚了身份验证,我们就可以开始了! 我们的决赛 .gitlab-ci.yml
它看起来像这样:
waypoint:
image: docker:latest
stage: build
services:
- docker:dind
# Define environment variables, e.g. `WAYPOINT_VERSION: '0.1.1'`
variables:
WAYPOINT_VERSION: ''
WAYPOINT_SERVER_ADDR: ''
WAYPOINT_SERVER_TOKEN: ''
WAYPOINT_SERVER_TLS: '1'
WAYPOINT_SERVER_TLS_SKIP_VERIFY: '1'
script:
- wget -q -O /tmp/waypoint.zip https://releases.hashicorp.com/waypoint/${WAYPOINT_VERSION}/waypoint_${WAYPOINT_VERSION}_linux_amd64.zip
- unzip -d /usr/local/bin /tmp/waypoint.zip
- rm -rf /tmp/waypoint*
- waypoint init
- waypoint build
- waypoint deploy
- waypoint release
你看我们从一张图片开始 docker:latest
并设置 Waypoint 所需的一些环境变量。 在章节中 script
我们下载最新的 Waypoint 可执行文件并将其放入 /usr/local/bin
。 由于我们的运行程序已经在 AWS 中获得授权,因此我们只需运行 waypoint init
, build
, deploy
и release
.
构建任务的输出将向我们显示我们滚动应用程序的端点:
航路点之一
HashiCorp 和 GitLab 开发的联合解决方案通过确保一致的供应链和基础设施管理,帮助公司找到开发应用程序的最佳方式。 Waypoint 朝着正确的方向又迈出了一步,我们期待该项目的进一步发展。 您可以了解更多有关 Waypoint 的信息
通过完成视频课程,您可以了解 CI/CD 的原理、掌握使用 Gitlab CI 的所有微妙之处并开始应用最佳实践
来源: habr.com