-
Notifications
You must be signed in to change notification settings - Fork 128
47 lines (46 loc) · 1.83 KB
/
public-ecr.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# .github/workflows/public-ecr.yml
name: Build and Push ecs-deploy
on:
push:
branches:
- master
tags:
- v*
permissions:
id-token: write
contents: write # This is required for actions/checkout@v1
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Git clone the repository
uses: actions/checkout@v1
- name: configure aws credentials
uses: aws-actions/configure-aws-credentials@master
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNTID }}:role/github-openvpn
role-session-name: samplerolesession
aws-region: eu-west-1
- name: Docker Login (ECR)
run: aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/y9x3p3i6
- name: Docker Login (Docker Hub)
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Docker Builld
run: docker build -t ecs-deploy .
- name: Tag and push latest
if: endsWith(github.ref, '/master')
run: |
docker tag ecs-deploy:latest public.ecr.aws/y9x3p3i6/ecs-deploy:latest
docker tag ecs-deploy:latest in4it/ecs-deploy:latest
docker push public.ecr.aws/y9x3p3i6/ecs-deploy:latest
docker push in4it/ecs-deploy:latest
- name: Tag and push specific version
if: startsWith(github.ref, '/refs/tags/*')
run: |
docker tag ecs-deploy:latest public.ecr.aws/y9x3p3i6/ecs-deploy:${GITHUB_REF/refs\/tags\//}
docker tag ecs-deploy:latest in4it/ecs-deploy:${GITHUB_REF/refs\/tags\//}
docker push public.ecr.aws/y9x3p3i6/ecs-deploy:${GITHUB_REF/refs\/tags\//}
docker push in4it/ecs-deploy:${GITHUB_REF/refs\/tags\//}