26 November 2018

Container Power Hour with Jess, Clare and Abby (CON362)

by mo


Join Jess Frazelle, from GitHub, and Clare Liguori and Abby Fuller, from AWS, for a container power hour to kick off your re:Invent. In this session, learn how to use Git and GitHub to run your containers, and build, test, and deploy processes. GitOps and Actions and AWS Fargate—oh my! This session features a demo from Jess on using the new GitHub Actions to deploy to Fargate.

Demo of GitHub Actions -> AWS Fargate.

gitops: versioned CI/CD as part of

  • code/docs in version control of your infrastructure setup.
  • push change via git -> branch merged -> master -> trigger ci/cd build
  • after deployment you can track back history in git.
  • stay consistent and avoid traps like config drift.

Clare - PE containers team

  • dev workflows on ECS.
  • CI -> Containers

Classic CI

  • source branch -> BuilD (old school like the 90s’)
  • how does this get better with containers?

Jenkinsfile

node {
  checkout scm
  docker.build("test-image")
}

Codebuild

version: 0.2
  build:
    commands:
      - docker build -t test-image
GitHub -> Commit Status API  -> pushed the CI to the pull request.

Containers and PR status api?

it’s built on containers

CodeBuild is built on top of ECS and docker containers. docker provides fresh consistent environment and provides a standardized description of that environment.

Prediction: Validate an entire environment in a pull request

infrastructure as code. aka gitops

validate an artifact *.tar.gz vs validate an environment like test environment

provision containers in a preview environment in pull request before it gets merged into a deployable artifact.

  1. pr
  2. build
  3. provision and test preview environment
  4. results to developer -> goto 1

In this example pull request https://github.com/clareliguori/trivia-api/pull/3 The clare-bot created a preview stack of the pull request change. People reviewing the code could click on the link and preview that version of code in an isolated environment that was spun up specifically for that pull request.

Jess

Jess created a demo github action that pushes to AWS Fargate when something is merged to master:

Resources

devops