GitLab CI/CD เจจเจพเจฒ เจธเจนเจฟเจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ HashiCorp เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเฉ€เจ

GitLab CI/CD เจจเจพเจฒ เจธเจนเจฟเจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ HashiCorp เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเฉ€เจ

HashiCorp เจจเฉ‡ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเจฟเจ–เจพเจ‡เจ† Waypoint 'เจคเฉ‡ HashiCorp เจกเจฟเจœเฉ€เจŸเจฒ. เจ‡เจน เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจคเฉ‹เจ‚ เจฒเฉˆ เจ•เฉ‡ AWS เจ…เจคเฉ‡ Google เจ•เจฒเจพเจ‰เจก เจฐเจจ เจคเฉฑเจ• เจฆเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฒเจพเจ‰เจก เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎเจพเจ‚ เจฒเจˆ เจฌเจฟเจฒเจกเจฟเฉฐเจ—, เจธเจผเจฟเจชเจฟเฉฐเจ—, เจ…เจคเฉ‡ เจฐเฉ€เจฒเฉ€เจœเจผ เจ•เจฐเจจ เจตเจพเจฒเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• HCL-เจ…เจงเจพเจฐเจฟเจค เจซเจพเจˆเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเฉ‹ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจŸเฉˆเจฐเจพเจซเจพเจฐเจฎ เจ…เจคเฉ‡ เจตเฉˆเจ—เจฐเฉˆเจ‚เจŸ เจคเฉเจนเจพเจกเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ, เจธเจผเจฟเจชเจฟเฉฐเจ— เจ…เจคเฉ‡ เจœเจพเจฐเฉ€ เจ•เจฐเจจ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจฒเจˆ เจ‡เจ•เฉฑเจ เฉ‡ เจฐเฉฑเจ–เฉ‡ เจ—เจ เจนเจจเฅค

เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจธเฉฑเจš เจนเฉˆ, HashiCorp เจจเฉ‡ เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจตเจœเฉ‹เจ‚ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจ†เจฐเจ•เฉˆเจธเจŸเจฐเฉ‡เจŸเจฐ เจฆเจพ เจชเฉฑเจงเจฐ เจคเฉเจนเจพเจกเฉ‡ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ, เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจ‡เฉฑเจ• เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ เจœเจฟเจธ เจจเฉ‚เฉฐ เจคเฉเจธเฉ€เจ‚ เจธเจฟเฉฑเจงเฉ‡ เจ†เจชเจฃเฉ‡ เจฒเฉˆเจชเจŸเจพเจช 'เจคเฉ‡ เจœเจพเจ‚ เจ†เจชเจฃเฉ€ เจชเจธเฉฐเจฆ เจฆเฉ‡ CI/CD เจ†เจฐเจ•เฉˆเจธเจŸเจฐเฉ‡เจธเจผเจจ เจŸเฉ‚เจฒ เจคเฉ‹เจ‚ เจšเจฒเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจกเจฟเจชเจฒเจพเจ‡เจฎเฉˆเจ‚เจŸ เจฆเจพ เจŸเฉ€เจšเจพ เจตเฉ€ เจคเฉเจนเจพเจกเฉ‡ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ, เจกเฉŒเจ•เจฐ, เจ—เฉ‚เจ—เจฒ เจ•เจฒเจพเจ‰เจก เจฐเจจ, AWS ECS, เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจ•เฉเจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจธเจผเจพเจจเจฆเจพเจฐ เจชเฉœเฉเจนเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ…เจคเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจ‰เจฆเจพเจนเจฐเจฃ HashiCorp เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚, เจ…เจธเฉ€เจ‚ GitLab CI/CD เจฆเฉ‡ เจจเจพเจฒ เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจ†เจฐเจ•เฉˆเจธเจŸเฉเจฐเฉ‡เจธเจผเจจ 'เจคเฉ‡ เจกเฉ‚เฉฐเจ˜เจพเจˆ เจจเจพเจฒ เจตเจฟเจšเจพเจฐ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจธเฉˆเจ‚เจชเจฒ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจคเฉ‹เจ‚ AWS ECS 'เจคเฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ€ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ Node.js เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฒเจตเจพเจ‚เจ—เฉ‡เฅค

เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจ•เจฒเฉ‹เจจ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ†เจ“ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ€ เจฌเจฃเจคเจฐ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ เจœเฉ‹ เจ‡เฉฑเจ• เจชเฉฐเจจเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ:

GitLab CI/CD เจจเจพเจฒ เจธเจนเจฟเจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ HashiCorp เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเฉ€เจ

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฟเจ† เจนเฉ‹เจตเฉ‡เจ—เจพ, เจ‡เจธ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจกเฉŒเจ•เจฐเจซเจพเจˆเจฒ เจจเจนเฉ€เจ‚ เจนเฉˆ. เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจธเจพเจกเฉ‡ เจฒเจˆ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฆเฉ‡เจ–เจญเจพเจฒ เจ•เจฐเฉ‡เจ—เจพเฅค เจ†เจ“ เจซเจพเจˆเจฒ 'เจคเฉ‡ เจกเฉ‚เฉฐเจ˜เจพเจˆ เจจเจพเจฒ เจตเจฟเจšเจพเจฐ เจ•เจฐเฉ€เจ 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"
    }
  }
}

เจฌเจฟเจฒเจก เจชเฉœเจพเจ… เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ, เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจ•เจฒเจพเจ‰เจก เจจเฉ‡เจŸเจฟเจต เจฌเจฟเจฒเจกเจชเฉˆเจ•เจธ (เจธเฉ€.เจเจจ.เจฌเฉ€.) เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ€ เจชเฉเจฐเฉ‹เจ—เฉเจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจกเฉŒเจ•เจฐเจซเจพเจˆเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ‡เฉฑเจ• เจกเฉŒเจ•เจฐ เจšเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆเฅค เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš, เจ‡เจน เจ‰เจนเฉ€ เจคเจ•เจจเจพเจฒเฉ‹เจœเฉ€ เจนเฉˆ เจœเฉ‹ GitLab เจฆเฉเจ†เจฐเจพ เจนเจฟเฉฑเจธเฉ‡ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ†เจŸเฉ‹ DevOps เจ†เจŸเฉ‹ เจฌเจฟเจฒเจก เจชเฉœเจพเจ… 'เจคเฉ‡เฅค เจ‡เจน เจฆเฉ‡เจ–เจฃเจพ เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจนเฉˆ เจ•เจฟ CNCF เจฆเจพ CNB เจ‰เจฆเจฏเฉ‹เจ— เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจ…เจชเจฃเจพ เจฐเจฟเจนเจพ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจตเจพเจฐ เจšเจฟเฉฑเจคเจฐ เจฌเจฃ เจœเจพเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจ‡เจธเจจเฉ‚เฉฐ เจธเจพเจกเฉ€ AWS ECR เจฐเจœเจฟเจธเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจ†เจชเจฃเฉ‡ เจ†เจช เจ…เฉฑเจชเจฒเฉ‹เจก เจ•เจฐเฉ‡เจ—เจพ เจคเจพเจ‚ เจœเฉ‹ เจ‡เจน เจญเฉ‡เจœเจฃ เจฒเจˆ เจคเจฟเจ†เจฐ เจนเฉ‹เจตเฉ‡เฅค เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจกเจฟเจฒเจฟเจตเจฐเฉ€ เจชเจ— เจตเจฐเจคเจฆเจพ เจนเฉˆ AWS ECS เจเจก-เจ†เจจ เจธเจพเจกเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจธเจพเจกเฉ‡ AWS เจ–เจพเจคเฉ‡ เจตเจฟเฉฑเจš เจคเฉˆเจจเจพเจค เจ•เจฐเจจ เจฒเจˆเฅค

เจฎเฉ‡เจฐเฉ‡ เจฒเฉˆเจชเจŸเจพเจช เจคเฉ‹เจ‚ เจ‡เจน เจ†เจธเจพเจจ เจนเฉˆเฅค เจฎเฉˆเจ‚ เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจœเฉ‹ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฎเฉ‡เจฐเฉ‡ AWS เจ–เจพเจคเฉ‡ เจตเจฟเฉฑเจš เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน "เจฌเจธ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ"เฅค เจชเจฐ เจ•เฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจฎเฉˆเจ‚ เจ†เจชเจฃเฉ‡ เจฒเฉˆเจชเจŸเจพเจช เจคเฉ‹เจ‚ เจชเจฐเฉ‡ เจœเจพเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ‚? เจœเจพเจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจฎเฉˆเจ‚ เจ†เจชเจฃเฉ€ เจธเจฎเฉเฉฑเจšเฉ€ CI/CD เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจตเจœเฉ‹เจ‚ เจ‡เจธ เจคเฉˆเจจเจพเจคเฉ€ เจจเฉ‚เฉฐ เจธเจตเฉˆเจšเจพเจฒเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ‚ เจœเจฟเฉฑเจฅเฉ‡ เจฎเฉ‡เจฐเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจเจ•เฉ€เจ•เจฐเจฃ เจŸเฉˆเจธเจŸ, เจธเฉเจฐเฉฑเจ–เจฟเจ† เจŸเฉˆเจธเจŸ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจšเฉฑเจฒเจฆเฉ‡ เจนเจจ? เจ‡เจน เจ•เจนเจพเจฃเฉ€ เจฆเจพ เจ‰เจน เจนเจฟเฉฑเจธเจพ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ GitLab CI/CD เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ!

NB เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจนเฉเจฃเฉ‡ เจนเฉ€ CI / CD เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจฌเจฃเจพ เจฐเจนเฉ‡ เจนเฉ‹ เจœเจพเจ‚ เจชเจพเจˆเจชเจฒเจพเจˆเจจเจพเจ‚ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจ…เจญเจฟเจ†เจธเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจจเจตเฉ‡เจ‚ เจธเจฒเจฐเจฎ เจ•เฉ‹เจฐเจธ เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจฆเจฟเจ“เฅค "Gitlab CI เจฆเฉ€ เจ‰เจฆเจพเจนเจฐเจจ 'เจคเฉ‡ CI/CD". เจ‡เจน เจนเฉเจฃ เจชเฉเจฐเฉ€-เจ†เจฐเจกเจฐ เจ•เฉ€เจฎเจค เจฒเจˆ เจ‰เจชเจฒเจฌเจง เจนเฉˆเฅค

GitLab CI/CD เจตเจฟเฉฑเจš เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ

เจ‡เจน เจธเจญ เจจเฉ‚เฉฐ GitLab CI/CD เจตเจฟเฉฑเจš เจ†เจฐเจ•เฉ‡เจธเจŸเฉเจฐเฉ‡เจŸ เจ•เจฐเจจ เจฒเจˆ, เจ†เจ“ เจฆเฉ‡เจ–เฉ€เจ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจธเจพเจกเฉ€ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ•เฉ€ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ .gitlab-ci.yml:

  • เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจ…เจงเจพเจฐ เจšเจฟเฉฑเจคเจฐ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ. เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจฒเฉ€เจจเจ•เจธ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ 'เจคเฉ‡ เจšเฉฑเจฒเจฆเจพ เจนเฉˆ, เจ‡เจธ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจกเฉŒเจ•เจฐ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ†เจฎ เจกเฉŒเจ•เจฐ เจšเจฟเฉฑเจคเจฐ เจจเจพเจฒ เจšเฉฑเจฒ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค
  • เจ…เฉฑเจ—เฉ‡, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจฎเฉˆเจŸเจพ เจฌเจฟเจฒเจก เจšเจฟเฉฑเจคเจฐ เจ…เจคเฉ‡ เจ‡เจธ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจฒเจˆ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจˆเจœเจผ เจ•เจฐเฉ‹เฅค
  • เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจตเจพเจ‚เจ—เฉ‡

เจ‰เฉฑเจชเจฐ เจธเจญ เจ•เฉเจ เจนเฉˆ เจœเฉ‹ เจธเจพเจกเฉ€ เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจคเฉ€ เจ•เจฐเจจ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€, เจชเจฐ AWS 'เจคเฉ‡ เจคเฉˆเจจเจพเจค เจ•เจฐเจจ เจฒเจˆ, เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจšเฉ€เจœเจผ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ: เจธเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ AWS เจ–เจพเจคเฉ‡ เจตเจฟเฉฑเจš เจฒเฉŒเจ—เจ‡เจจ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจตเจฐเจฃเจจ เจตเจฟเฉฑเจš เจฏเฉ‹เจœเจจเจพเจตเจพเจ‚ เจนเจจ เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจ…เจคเฉ‡ เจ…เจงเจฟเจ•เจพเจฐ เจฌเจพเจฐเฉ‡. HashiCorp เจจเฉ‡ เจ‡เจธ เจนเจซเจคเฉ‡ เจ‡เฉฑเจ• เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ€ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเฉ€ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจธเฉ€เจฎเจพ. เจชเจฐ เจนเฉเจฃ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจ…เจคเฉ‡ เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจฒเฉˆ เจ…เจคเฉ‡ เจธเฉฐเจญเจพเจฒ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค

AWS 'เจคเฉ‡ GitLab CICD เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจจ เจฒเจˆ เจ•เจˆ เจตเจฟเจ•เจฒเจช เจนเจจเฅค เจชเจนเจฟเจฒเจพ เจตเจฟเจ•เจฒเจช เจฌเจฟเจฒเจŸ-เจ‡เจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจนเฉˆ HashiCorp เจตเจพเจฒเจŸ. เจ‡เจน เจ เฉ€เจ• เจนเฉˆ เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ€ เจŸเฉ€เจฎ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ•เฉเจฐเฉˆเจกเฉˆเจ‚เจธเจผเฉ€เจ…เจฒ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ Vault เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจฐเจนเฉ€ เจนเฉˆเฅค เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจคเจฐเฉ€เจ•เจพ เจœเฉ‹ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ€ เจŸเฉ€เจฎ AWS IAM เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ‡เจน เจœเจพเจ‚เจš เจ•เจฐเจจเจพ เจนเฉˆ เจ•เจฟ เจกเจฟเจฒเฉ€เจตเจฐเฉ€ เจ•เจพเจฐเจœ เจ‡เจธ เจฆเฉเจ†เจฐเจพ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ GitLab เจฆเฉŒเฉœเจพเจ•A เจœเฉ‹ เจ•เจฟ IAM เจฆเฉเจ†เจฐเจพ เจคเฉˆเจจเจพเจคเฉ€ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฒเจˆ เจ…เจงเจฟเจ•เจพเจฐเจค เจนเฉˆเฅค เจชเจฐ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจคเฉ‹เจ‚ เจœเจพเจฃเฉ‚ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจœเจฒเจฆเฉ€ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ†เจ–เจฐเฉ€ เจตเจฟเจ•เจฒเจช เจนเฉˆ เจคเฉเจนเจพเจกเฉ€ AWS API เจ…เจคเฉ‡ เจ—เฉเจชเจค เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจเจพ GitLab CI/CD เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ 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.

เจฌเจฟเจฒเจก เจŸเจพเจธเจ• เจฆเจพ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจธเจพเจจเฉ‚เฉฐ เจ…เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ‚ เจฆเจฟเจ–เจพเจเจ—เจพ เจœเจฟเฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฐเฉ‹เจฒ เจ•เฉ€เจคเจพ เจนเฉˆ:

GitLab CI/CD เจจเจพเจฒ เจธเจนเจฟเจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ HashiCorp เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเฉ€เจ

เจ‡เฉฑเจ• เจตเฉ‡เจ…เจชเฉเจ†เจ‡เฉฐเจŸ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ HashiCorp เจนเฉฑเจฒ, เจœเฉ‹ GitLab เจจเจพเจฒ เจตเจงเฉ€เจ† เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจกเจฟเจฒเฉ€เจตเจฐ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ…เจธเฉ€เจ‚ เจ‡เจธเจฆเฉ‡ เจจเจพเจฒ เจ…เฉฐเจกเจฐเจฒเจพเจˆเฉฐเจ— เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจ†เจฐเจ•เฉ‡เจธเจŸเฉเจฐเฉ‡เจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ GitLab เจตเจฟเฉฑเจš Terraform. SDLC เจธเฉเจฐเฉฑเจ–เจฟเจ† เจจเฉ‚เฉฐ เจฎเจฟเจ†เจฐเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจฒเจพเจ—เฉ‚ เจตเฉ€ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจตเจพเจฒเจŸ เจจเจพเจฒ GitLab CI/CD เจชเจพเจˆเจชเจฒเจพเจˆเจจเจพเจ‚ เจตเจฟเฉฑเจš เจฐเจพเจœเจผ เจ…เจคเฉ‡ เจŸเฉ‹เจ•เจจเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ, เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจ…เจคเฉ‡ เจชเฉเจฐเจธเจผเจพเจธเจ•เจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจธเฉฐเจชเฉ‚เจฐเจจ เจนเฉฑเจฒ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจตเจฟเจ•เจพเจธ, เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจ…เจคเฉ‡ เจ‰เจคเจชเจพเจฆเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจ—เฉเจชเจค เจชเฉเจฐเจฌเฉฐเจงเจจ 'เจคเฉ‡ เจญเจฐเฉ‹เจธเจพ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

HashiCorp เจ…เจคเฉ‡ GitLab เจฆเฉเจ†เจฐเจพ เจตเจฟเจ•เจธเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจพเจ‚เจเฉ‡ เจนเฉฑเจฒ เจ‡เจ•เจธเจพเจฐ เจธเจชเจฒเจพเจˆ เจšเฉ‡เจจ เจ…เจคเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพ เจ•เฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเจฟเจ•เจธเจค เจ•เจฐเจจ เจฆเจพ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจคเจฐเฉ€เจ•เจพ เจฒเฉฑเจญเจฃ เจตเจฟเฉฑเจš เจ•เฉฐเจชเจจเฉ€เจ†เจ‚ เจฆเฉ€ เจฎเจฆเจฆ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจจเฉ‡ เจธเจนเฉ€ เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ•เจฆเจฎ เจšเฉเฉฑเจ•เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจนเฉ‹เจฐ เจตเจฟเจ•เจพเจธ เจฆเฉ€ เจ‰เจฎเฉ€เจฆ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจคเฉเจธเฉ€เจ‚ เจตเฉ‡เจชเฉเจ†เจ‡เฉฐเจŸ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจœเจพเจฃ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ‡เฉฑเจฅเฉ‡เจ–เฉ‹เจœเจฃ เจฏเฉ‹เจ— เจตเฉ€ เจนเฉˆ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ ะธ เจตเจฟเจ•เจพเจธ เจฏเฉ‹เจœเจจเจพ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ. เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจ—เจฟเจ†เจจ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ† เจนเฉˆ GitLab CICD เจฆเจธเจคเจพเจตเฉ‡เจœเจผ. เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจ…เจœเจผเจฎเจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ 'เจคเฉ‡ เจชเฉ‚เจฐเฉ€ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒ เจ‰เจฆเจพเจนเจฐเจฃ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ‡เจน เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€.

เจคเฉเจธเฉ€เจ‚ CI / CD เจฆเฉ‡ เจธเจฟเจงเจพเจ‚เจคเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจ เจธเจ•เจฆเฉ‡ เจนเฉ‹, Gitlab CI เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจธเฉ‚เจ–เจฎเจคเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจฎเฉเจนเจพเจฐเจค เจนเจพเจธเจฒ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจตเฉ€เจกเฉ€เจ“ เจ•เฉ‹เจฐเจธ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจ•เฉ‡ เจตเจงเฉ€เจ† เจ…เจญเจฟเจ†เจธเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค "Gitlab CI เจฆเฉ€ เจ‰เจฆเจพเจนเจฐเจจ 'เจคเฉ‡ CI/CD". เจนเฉเจฃเฉ‡ เจธเจผเจพเจฎเจฒ เจนเฉ‹เจตเฉ‹!

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹