Build, deploy, and release across platforms
Overview
Here are my notes about technical aspects of how CI/CD can occur using a command line interface similar to Terraform.
NOTE: Content here are my personal opinions, and not intended to represent any employer (past or present). “PROTIP:” here highlight information I haven’t seen elsewhere on the internet because it is hard-won, little-know but significant facts based on my personal research and experience.
Why?
Among HashiCorp’s YouTube channel is
this whiteboard overview Oct 16, 2020 by HashiCorp Co-Founder and CTO, Armon Dadgar:
-
Waypoint was introduced in 2020 at the HashiConf Digital Keynote
-
https://waypointproject.io is the marketing home page for Waypoint.
Waypoint provides a consistent and simple experience for developers of multi-cloud systems and applications for CI/CD:
- Write -> Test -> Build -> Deploy -> Release -> Operate -> Monitor
Write Test Build Deploy Release Operate Monitor VSCode
Vim
Emacsgit commit, git push to GitHub, which triggers run in GitHub Actions or CircleCI docker build, docker push Docker image into (JFrog Artifactory) binary Registry Push a new Docker container out to a Kubernetes cluster Blue/Green or canary deployments Terraform Vault with Nomal Consul K8s, Openshift Logs to Splunk, Prometheus, etc. Grafana telemetry for APM and Tracing -
Instead of directly integrating with GitOps and ChatOps frameworks, Waypoint users code declarative Waypoint manifest files.
-
Just as there is one command set of terraform commands used across different clouds, there is one CLI command used to invoke CI/CD:
waypoint up
Waypoint takes care of Docker build/push, kubectl apply/push
-
Demo videos:
-
Demo Tutorial With GitLab CI/CD and Kubernetes by Sam Gabriel (TeKanAid) [46:51] Nov 2, 2020 with companion blog demos differences in deploy of his Python Flask weblog app referencing MongoDB running within GKE with a Vault agent sidecar to inject secrets:
- Manual - No CI/CD tools (git commit/push, docker build/push, kubectl apply)
- With Waypoint - No CI/CD tools
- GitLab CI/CD - No Waypoint
- GitLab CI/CD - with Waypoint
-
hands-on interactive lab environment, HashiCorp Learn:
Waypoint commands
-
Install
waypoint install
-
Server
waypoint server run
-
Log
waypoint logs
-
A shell for various commands, such as schema migration:
waypoint exec
Roadmap
https://www.waypointproject.io/docs/roadmap
About HashiCorp
HashiCorp is the leader in multi-cloud infrastructure automation software. The HashiCorp software suite enables organizations to adopt consistent workflows to provision, secure, connect, and run any infrastructure for any application.
HashiCorp open source tools Vagrant, Packer, Terraform, Vault, Consul, Nomad, Boundary, and Waypoint are downloaded tens of millions of times each year and are broadly adopted by the Global 2000. Enterprise versions of these products enhance the open source tools with features that promote collaboration, operations, governance, and multi-data center functionality.
Social
Twitter: @hashicorp LinkedIn: https://www.linkedin.com/company/hash… Facebook: https://www.facebook.com/HashiCorp
Competition
ArgoCD