HashiCorp เจจเฉ เจเฉฑเจ เจจเจตเจพเจ เจชเฉเจฐเฉเจเฉเจเจ เจฆเจฟเจเจพเจเจ
เจฌเจฃเจพเจเจฃ เจฒเจ เจธเฉฑเจ เจนเฉ, HashiCorp เจจเฉ เจตเฉเจชเฉเจเจเฉฐเจ เจจเฉเฉฐ เจเจชเจจ เจธเฉเจฐเจธ เจตเจเฉเจ เจเจพเจฐเฉ เจเฉเจคเจพ เจนเฉ, เจ เจคเฉ เจเจน เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจเจฆเจพเจนเจฐเจฃเจพเจ เจฆเฉ เจจเจพเจฒ เจเจเจเจฆเจพ เจนเฉเฅค เจเจฐเจเฉเจธเจเจฐเฉเจเจฐ เจฆเจพ เจชเฉฑเจงเจฐ เจคเฉเจนเจพเจกเฉ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจพ เจนเฉ, เจตเฉเจชเฉเจเจเฉฐเจ เจเฉฑเจ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ เจฆเฉ เจคเฉเจฐ 'เจคเฉ เจเจเจเจฆเจพ เจนเฉ เจเจฟเจธ เจจเฉเฉฐ เจคเฉเจธเฉเจ เจธเจฟเฉฑเจงเฉ เจเจชเจฃเฉ เจฒเฉเจชเจเจพเจช 'เจคเฉ เจเจพเจ เจเจชเจฃเฉ เจชเจธเฉฐเจฆ เจฆเฉ CI/CD เจเจฐเจเฉเจธเจเจฐเฉเจธเจผเจจ เจเฉเจฒ เจคเฉเจ เจเจฒเจพ เจธเจเจฆเฉ เจนเฉเฅค เจเจชเจฒเฉเจเฉเจธเจผเจจ เจกเจฟเจชเจฒเจพเจเจฎเฉเจเจ เจฆเจพ เจเฉเจเจพ เจตเฉ เจคเฉเจนเจพเจกเฉ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจพ เจนเฉ, เจเจฟเจเจเจเจฟ เจตเฉเจชเฉเจเจเฉฐเจ เจเฉเจฌเจฐเจจเฉเจเจธ, เจกเฉเจเจฐ, เจเฉเจเจฒ เจเจฒเจพเจเจก เจฐเจจ, AWS ECS, เจ เจคเฉ เจนเฉเจฐ เจฌเจนเฉเจค เจเฉเจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเจพ เจนเฉเฅค
เจธเจผเจพเจจเจฆเจพเจฐ เจชเฉเฉเจนเจจ เจคเฉเจ เจฌเจพเจ
เจฆ
เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจเจฒเฉเจจ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจฌเจฃเจคเจฐ เจจเฉเฉฐ เจตเฉเจเฉเจ เจเฉ เจเฉฑเจ เจชเฉฐเจจเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเจฆเจพ เจนเฉ:
เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจธเฉเจ เจฆเฉเจเจฟเจ เจนเฉเจตเฉเจเจพ, เจเจธ เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ เจเฉเจ เจกเฉเจเจฐเจซเจพเจเจฒ เจจเจนเฉเจ เจนเฉ. เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจจเจนเฉเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ เจเจฟเจเจเจเจฟ เจธเจพเจจเฉเฉฐ เจเจนเจจเจพเจ เจฆเฉ เจ
เจธเจฒ เจตเจฟเฉฑเจ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉ, เจเจฟเจเจเจเจฟ เจตเฉเจชเฉเจเจเฉฐเจ เจธเจพเจกเฉ เจฒเจ เจเจนเจจเจพเจ เจฆเฉ เจฆเฉเจเจญเจพเจฒ เจเจฐเฉเจเจพเฅค เจเจ เจซเจพเจเจฒ 'เจคเฉ เจกเฉเฉฐเจเจพเจ เจจเจพเจฒ เจตเจฟเจเจพเจฐ เจเจฐเฉเจ 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"
}
}
}
เจฌเจฟเจฒเจก เจชเฉเจพเจ
เจฆเฉ เจฆเฉเจฐเจพเจจ, เจตเฉเจชเฉเจเจเฉฐเจ เจเจฒเจพเจเจก เจจเฉเจเจฟเจต เจฌเจฟเจฒเจกเจชเฉเจเจธ (
เจเฉฑเจ เจตเจพเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃ เจเจพเจฃ เจคเฉเจ เจฌเจพเจ
เจฆ, เจตเฉเจชเฉเจเจเฉฐเจ เจเจธเจจเฉเฉฐ เจธเจพเจกเฉ AWS ECR เจฐเจเจฟเจธเจเจฐเฉ เจตเจฟเฉฑเจ เจเจชเจฃเฉ เจเจช เจ
เฉฑเจชเจฒเฉเจก เจเจฐเฉเจเจพ เจคเจพเจ เจเฉ เจเจน เจญเฉเจเจฃ เจฒเจ เจคเจฟเจเจฐ เจนเฉเจตเฉเฅค เจ
เจธเฉเจเจฌเจฒเฉ เจฆเฉ เจ
เฉฐเจค เจตเจฟเฉฑเจ, เจกเจฟเจฒเจฟเจตเจฐเฉ เจชเจ เจตเจฐเจคเจฆเจพ เจนเฉ
เจฎเฉเจฐเฉ เจฒเฉเจชเจเจพเจช เจคเฉเจ เจเจน เจเจธเจพเจจ เจนเฉเฅค เจฎเฉเจ เจตเฉเจชเฉเจเจเฉฐเจ เจตเจฟเฉฑเจ เจฐเฉฑเจเจฟเจ เจเฉ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจฎเฉเจฐเฉ AWS เจเจพเจคเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจนเฉ เจ เจคเฉ เจเจน "เจฌเจธ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ"เฅค เจชเจฐ เจเฉ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเฉเจเจฐ เจฎเฉเจ เจเจชเจฃเฉ เจฒเฉเจชเจเจพเจช เจคเฉเจ เจชเจฐเฉ เจเจพเจฃเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ? เจเจพเจ เจนเฉ เจธเจเจฆเจพ เจนเฉ เจเจฟ เจฎเฉเจ เจเจชเจฃเฉ เจธเจฎเฉเฉฑเจเฉ CI/CD เจชเจพเจเจชเจฒเจพเจเจจ เจฆเฉ เจนเจฟเฉฑเจธเฉ เจตเจเฉเจ เจเจธ เจคเฉเจจเจพเจคเฉ เจจเฉเฉฐ เจธเจตเฉเจเจพเจฒเจค เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ เจเจฟเฉฑเจฅเฉ เจฎเฉเจฐเฉ เจฎเฉเจเฉเจฆเจพ เจเจเฉเจเจฐเจฃ เจเฉเจธเจ, เจธเฉเจฐเฉฑเจเจฟเจ เจเฉเจธเจ เจ เจคเฉ เจนเฉเจฐ เจเฉฑเจฒเจฆเฉ เจนเจจ? เจเจน เจเจนเจพเจฃเฉ เจฆเจพ เจเจน เจนเจฟเฉฑเจธเจพ เจนเฉ เจเจฟเฉฑเจฅเฉ GitLab CI/CD เจเจเจเจฆเจพ เจนเฉ!
NB เจเฉ เจคเฉเจธเฉเจ เจนเฉเจฃเฉ เจนเฉ CI / CD เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฆเฉ เจฏเฉเจเจจเจพ เจฌเจฃเจพ เจฐเจนเฉ เจนเฉ เจเจพเจ เจชเจพเจเจชเจฒเจพเจเจจเจพเจ เจฌเจฃเจพเจเจฃ เจฒเจ เจธเจญ เจคเฉเจ เจตเจงเฉเจ เจ เจญเจฟเจเจธเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ, เจคเจพเจ เจจเจตเฉเจ เจธเจฒเจฐเจฎ เจเฉเจฐเจธ เจตเฉฑเจฒ เจงเจฟเจเจจ เจฆเจฟเจเฅค
"Gitlab CI เจฆเฉ เจเจฆเจพเจนเจฐเจจ 'เจคเฉ CI/CD" . เจเจน เจนเฉเจฃ เจชเฉเจฐเฉ-เจเจฐเจกเจฐ เจเฉเจฎเจค เจฒเจ เจเจชเจฒเจฌเจง เจนเฉเฅค
GitLab CI/CD เจตเจฟเฉฑเจ เจตเฉเจชเฉเจเจเฉฐเจ
เจเจน เจธเจญ เจจเฉเฉฐ GitLab CI/CD เจตเจฟเฉฑเจ เจเจฐเจเฉเจธเจเฉเจฐเฉเจ เจเจฐเจจ เจฒเจ, เจเจ เจฆเฉเจเฉเจ เจเจฟ เจธเจพเจจเฉเฉฐ เจธเจพเจกเฉ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉ เจเจพเจนเฉเจฆเจพ เจนเฉ .gitlab-ci.yml
:
- เจธเจญ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจธเจฆเฉ เจ เฉฐเจฆเจฐ เจเจฒเจพเจเจฃ เจฒเจ เจเฉฑเจ เจ เจงเจพเจฐ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจฒเฉเฉ เจนเฉ. เจตเฉเจชเฉเจเจเฉฐเจ เจเจฟเจธเฉ เจตเฉ เจฒเฉเจจเจเจธ เจกเจฟเจธเจเจฐเฉเจฌเจฟเจเจธเจผเจจ 'เจคเฉ เจเฉฑเจฒเจฆเจพ เจนเฉ, เจเจธ เจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจกเฉเจเจฐ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจเจธ เจฒเจ เจ เจธเฉเจ เจเฉฑเจ เจเจฎ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจจเจพเจฒ เจเฉฑเจฒ เจธเจเจฆเฉ เจนเจพเจเฅค
- เจ
เฉฑเจเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจธ เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจตเฉเจชเฉเจเจเฉฐเจ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจญเจตเจฟเฉฑเจ เจตเจฟเฉฑเจ เจ
เจธเฉเจ เจเจเฉฑเจ เจพ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ
เจฎเฉเจเจพ เจฌเจฟเจฒเจก เจเจฟเฉฑเจคเจฐ เจ เจคเฉ เจเจธ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจเจชเจฃเฉ เจฒเจ เจเฉฐเจเฉเจจเจฐเจพเจเจเจผ เจเจฐเฉเฅค - เจ เฉฐเจค เจตเจฟเฉฑเจ เจ เจธเฉเจ เจตเฉเจชเฉเจเจเฉฐเจ เจเจฎเจพเจเจกเจพเจ เจจเฉเฉฐ เจเจฒเจพเจตเจพเจเจเฉ
เจเฉฑเจชเจฐ เจธเจญ เจเฉเจ เจนเฉ เจเฉ เจธเจพเจกเฉ เจชเจพเจเจชเจฒเจพเจเจจ เจจเฉเฉฐ เจคเฉเจจเจพเจคเฉ เจเจฐเจจ เจฒเจ เจฒเฉเฉเฉเจเจฆเฉเจเจ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉ, เจชเจฐ 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
เจ
เจคเฉ เจตเฉเจชเฉเจเจเฉฐเจ เจฆเฉเจเจฐเจพ เจฒเฉเฉเฉเจเจฆเฉ เจเฉเจ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจธเฉเฉฑเจ เจเจฐเฉเฅค เจ
เจงเจฟเจเจ เจตเจฟเฉฑเจ script
เจ
เจธเฉเจ เจจเจตเฉเจจเจคเจฎ เจตเฉเจชเฉเจเจเฉฐเจ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ เจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจเจฐเจฆเฉ เจนเจพเจ เจ
เจคเฉ เจเจธเจจเฉเฉฐ เจชเจพ เจฆเจฟเฉฐเจฆเฉ เจนเจพเจ /usr/local/bin
. เจเจฟเจเจเจเจฟ เจธเจพเจกเจพ เจฆเฉเฉเจพเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ AWS เจตเจฟเฉฑเจ เจ
เจงเจฟเจเจพเจฐเจค เจนเฉ, เจเจธ เจฒเจ เจ
เจธเฉเจ เจธเจฟเจฐเจซเจผ เจฆเฉเฉเจฆเฉ เจนเจพเจ waypoint init
, build
, deploy
ะธ release
.
เจฌเจฟเจฒเจก เจเจพเจธเจ เจฆเจพ เจเจเจเจชเฉเฉฑเจ เจธเจพเจจเฉเฉฐ เจ เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ เจฆเจฟเจเจพเจเจเจพ เจเจฟเฉฑเจฅเฉ เจ เจธเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจฐเฉเจฒ เจเฉเจคเจพ เจนเฉ:
เจเฉฑเจ เจตเฉเจ
เจชเฉเจเจเฉฐเจ
HashiCorp เจ
เจคเฉ GitLab เจฆเฉเจเจฐเจพ เจตเจฟเจเจธเจฟเจค เจเฉเจคเฉ เจเจ เจธเจพเจเจเฉ เจนเฉฑเจฒ เจเจเจธเจพเจฐ เจธเจชเจฒเจพเจ เจเฉเจจ เจ
เจคเฉ เจฌเฉเจจเจฟเจเจฆเฉ เจขเจพเจเจเฉ เจฆเฉ เจชเฉเจฐเจฌเฉฐเจงเจจ เจจเฉเฉฐ เจฏเจเฉเจจเฉ เจฌเจฃเจพ เจเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจจเฉเฉฐ เจตเจฟเจเจธเจค เจเจฐเจจ เจฆเจพ เจธเจญ เจคเฉเจ เจตเจงเฉเจ เจคเจฐเฉเจเจพ เจฒเฉฑเจญเจฃ เจตเจฟเฉฑเจ เจเฉฐเจชเจจเฉเจเจ เจฆเฉ เจฎเจฆเจฆ เจเจฐเจฆเฉ เจนเจจเฅค เจตเฉเจชเฉเจเจเฉฐเจ เจจเฉ เจธเจนเฉ เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจ เจเฉฑเจ เจนเฉเจฐ เจเจฆเจฎ เจเฉเฉฑเจเจฟเจ เจนเฉ เจ
เจคเฉ เจ
เจธเฉเจ เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ เจนเฉเจฐ เจตเจฟเจเจพเจธ เจฆเฉ เจเจฎเฉเจฆ เจเจฐเจฆเฉ เจนเจพเจเฅค เจคเฉเจธเฉเจ เจตเฉเจชเฉเจเจเฉฐเจ เจฌเจพเจฐเฉ เจนเฉเจฐ เจเจพเจฃ เจธเจเจฆเฉ เจนเฉ
เจคเฉเจธเฉเจ CI / CD เจฆเฉ เจธเจฟเจงเจพเจเจคเจพเจ เจจเฉเฉฐ เจธเจฎเจ เจธเจเจฆเฉ เจนเฉ, Gitlab CI เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฆเฉเจเจ เจธเจพเจฐเฉเจเจ เจธเฉเจเจฎเจคเจพเจตเจพเจ เจตเจฟเฉฑเจ เจฎเฉเจนเจพเจฐเจค เจนเจพเจธเจฒ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจ
เจคเฉ เจตเฉเจกเฉเจ เจเฉเจฐเจธ เจจเฉเฉฐ เจชเฉเจฐเจพ เจเจฐเจเฉ เจตเจงเฉเจ เจ
เจญเจฟเจเจธเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
เจธเจฐเฉเจค: www.habr.com