Skip to content

Instantly share code, notes, and snippets.

@spencersteers
Last active August 25, 2019 23:45
Show Gist options
  • Save spencersteers/5f5ceb6a6841c83afb14ebc50bc2b9c2 to your computer and use it in GitHub Desktop.
Save spencersteers/5f5ceb6a6841c83afb14ebc50bc2b9c2 to your computer and use it in GitHub Desktop.
actions/example-aws main.workflow migrated to new YAML syntax
// Migrated with actions/migrate to get an idea of how to use actions/aws with the new YAML syntax
// I have not actually tested any of this out
// https://github.com/actions/example-aws/blob/f4ff58a04b5a2af87c414a72ef79c62c8fa77a1d/.github/main.workflow
on: push
name: Build and Deploy
jobs:
buildDockerImage:
name: Build Docker image
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Build Docker image
uses: actions/docker/cli@master
with:
args: build -t aws-example .
- name: Deploy branch filter
uses: actions/bin/filter@master
with:
args: branch master
- name: Store Kube Credentials
uses: actions/aws/kubectl@master
env:
KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }}
- name: Tag image for ECR
uses: actions/docker/tag@master
env:
CONTAINER_REGISTRY_PATH: 377117578606.dkr.ecr.us-west-2.amazonaws.com
IMAGE_NAME: aws-example
with:
args: $IMAGE_NAME $CONTAINER_REGISTRY_PATH/$IMAGE_NAME
- name: Login to ECR
uses: actions/aws/cli@master
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_DEFAULT_REGION: us-west-2
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
with:
args: ecr get-login --no-include-email --region $AWS_DEFAULT_REGION | sh
- name: Deploy to EKS
uses: ./.github/actions/eks-kubectl
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
with:
entrypoint: sh
args: -l -c "SHORT_REF=$(echo ${{ github.sha }} | head -c7) && cat ${{ github.workspace
}}/config.yml | sed 's/TAG/'\"$SHORT_REF\"'/' | kubectl apply -f - "
- name: Push image to ECR
uses: actions/docker/cli@master
env:
CONTAINER_REGISTRY_PATH: 377117578606.dkr.ecr.us-west-2.amazonaws.com
IMAGE_NAME: aws-example
with:
args: push $CONTAINER_REGISTRY_PATH/$IMAGE_NAME
- name: Verify EKS deployment
uses: ./.github/actions/eks-kubectl
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
with:
args: '"rollout status deployment/aws-example-octodex"'
- name: List Public IP
uses: ./.github/actions/eks-kubectl
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
with:
args: '"get services -o wide"'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment