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 的所有微妙之處並開始應用最佳實踐
來源: www.habr.com