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 ืฉืื ืืื "ืคืฉืื ืขืืื". ืืื ืื ืงืืจื ืื ืื ื ืจืืฆื ืืืืช ืืขืืจ ืืืืฉื ืื ืืื ืฉืื? ืื ืืื ืื ื ืจืืฆื ืืคืชืข ืืืคืื ืืช ืืคืจืืกื ืืื ืืืืืืืืืช ืืืืง ืืฆืื ืืจ ื-CI/CD ืืืืื ืฉืื, ืฉืื ื ืขืจืืืช ืืืื ื ืืืื ืืืจืฆืื ืืฉืืืคืื ืฉืื, ืืืืงืืช ืืืืื ืืืืจืืช? ืื ืืืืง ืืกืืคืืจ ืฉืื ื ืื ืก GitLab CI/CD!
ื .ื. ืื ืืชื ืจืง ืืชืื ื ืืืืฉื CI/CD ืื ืจืืฆื ืืืชืืื ืืืืฉื ืฉืืืืช ืขืืืื ืืืืืฆืืช ืืื ืืืช ืฆืื ืืจืืช, ืฉืืื ืื ืืงืืจืก ืืืืฉ ืฉื Slurm
"CI/CD ืืืืฆืขืืช Gitlab CI ืืืืืื" . ืื ืืืื ืืขืช ืืืืืจ ืืืื ื ืืจืืฉ.
ื ืงืืืช ืฆืืื ื- GitLab CI/CD
ืืื ืืชืืืจ ืืช ืื ืื ื- GitLab CI/CD, ืืืื ื ืกืชืื ืขื ืื ืฉืื ืื ื ืฆืจืืืื ืืงืืืฅ ืฉืื ื .gitlab-ci.yml
:
- ืงืืื ืื, ืืชื ืฆืจืื ืชืืื ืช ืืกืืก ืืื ืืจืืฅ ืืชืืื. Waypoint ืขืืื ืขื ืื ืืคืฆืช ืืื ืืงืก, ืืื ืืงืืงื ืจืง ื-Docker, ืื ืฉื ืืื ืืจืืฅ ืขื ืชืืื ืช Docker ืื ืจืืช.
- ืืืืจ ืืื ืขืืื ืืืชืงืื ืืช Waypoint ืืชืืื ื ืื. ืืขืชืื ืื ื ืขืฉืืืื ืืืกืืฃ
ืื ืืืช ืืื ืชืืื ื ืืชืืืก ืืช ืืชืืืื ืืื ืืขืฆืื. - ืืืกืืฃ ื ืจืืฅ ืืช ืืคืงืืืืช Waypoint
ืืืืืจ ืืขืื ืืชืืจ ืืช ืื ืื ืฉืืฆืื ืืจ ืฉืื ื ืืฆืืจื ืืื ืืืคืขืื ืืช ืืกืงืจืืคืืื ืืืจืืฉืื ืืืฉืืืช ืืคืจืืกื, ืืื ืืื ืืคืจืืก ื-AWS ื ืฆืืจื ืขืื ืืืจ ืืื: ืขืืื ื ืืืืืช ืืืืืจืื ืืืฉืืื ื-AWS ืฉืื ื. ืืชืืืืจ ื ืงืืืช ืืืจื
ืืฉื ื ืืกืคืจ ืืคืฉืจืืืืช ืืืืืืช GitLab CICD ื-AWS. ืืืคืฉืจืืช ืืจืืฉืื ื ืืื ืืืฉืชืืฉ ืืืืื ื 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