Skip to content

Commit

Permalink
fix(docker): push to AWS private ECR (#11)
Browse files Browse the repository at this point in the history
  • Loading branch information
portellaa authored Jun 23, 2022
1 parent 8625def commit 6369e99
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 77 deletions.
61 changes: 21 additions & 40 deletions .github/workflows/prereleased.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@ on:


env:
GHCR_REGISTRY: ghcr.io/${{ github.repository_owner }}
GHCR_USERNAME: ${{ github.repository_owner }}
GHCR_PASSWORD: ${{ secrets.GITHUB_TOKEN }}

DOCKERHUB_REGISTRY: ydata

DOCKER_REPOSITORY: aws-asg-tags-lambda
Expand Down Expand Up @@ -49,7 +45,7 @@ jobs:
run: echo ::set-output name=value::${GITHUB_REF#refs/*/}


build-dockerhub:
build:
name: Build and push to Docker Hub
runs-on: ubuntu-20.04

Expand All @@ -66,54 +62,39 @@ jobs:
restore-keys: |
${{ runner.os }}-spm-
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ECR_ACCESSKEYID }}
aws-secret-access-key: ${{ secrets.AWS_ECR_SECRETACCESSKEY }}
aws-region: ${{ secrets.AWS_ECR_REGION }}

- name: Login to Amazon ECR
id: ecr
uses: aws-actions/amazon-ecr-login@v1

- name: Login to Dockerhub Registry
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Build and push
- name: Build and push to AWS ECR
id: docker_build
uses: docker/build-push-action@v3
env:
DOCKER_IMAGE_TAG: ${{ env.DOCKERHUB_REGISTRY }}/${{ env.DOCKER_REPOSITORY }}:${{ needs.prepare.outputs.version }}
DOCKER_IMAGE_TAG: ${{ steps.ecr.outputs.registry }}/${{ env.DOCKER_REPOSITORY }}:${{ needs.prepare.outputs.version }}
with:
push: true
tags: ${{ env.DOCKER_IMAGE_TAG }}


build-ghcr:
name: Build and push to Github Container Registry
runs-on: ubuntu-20.04

needs:
- prepare

steps:
- uses: actions/checkout@v3

- uses: actions/cache@v3
with:
path: .build
key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}
restore-keys: |
${{ runner.os }}-spm-
- name: Login to GitHub Registry
uses: docker/login-action@v2
with:
registry: ${{ env.GHCR_REGISTRY }}
username: ${{ env.GHCR_USERNAME }}
password: ${{ env.GHCR_PASSWORD }}

- name: Build and push
id: docker_build
uses: docker/build-push-action@v3
- name: Tag to docker hub and push
env:
DOCKER_IMAGE_TAG: ${{ env.GHCR_REGISTRY }}/${{ env.DOCKER_REPOSITORY }}:${{ needs.prepare.outputs.version }}
with:
push: true
tags: ${{ env.DOCKER_IMAGE_TAG }}
SOURCE: ${{ steps.ecr.outputs.registry }}/${{ env.DOCKER_REPOSITORY }}:${{ needs.prepare.outputs.version }}
DESTINATION: ${{ env.DOCKERHUB_REGISTRY }}/${{ env.DOCKER_REPOSITORY }}:${{ needs.prepare.outputs.version }}
run: |
docker tag $SOURCE $DESTINATION
docker push $DESTINATION
update-manifests:
Expand All @@ -122,7 +103,7 @@ jobs:

needs:
- prepare
- build-ghcr
- build

env:
COMPONENT: ASG_TAGS_LAMBDA_VERSION
Expand Down
57 changes: 21 additions & 36 deletions .github/workflows/released.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@ on:


env:
GHCR_REGISTRY: ghcr.io/${{ github.repository_owner }}
GHCR_USERNAME: ${{ github.repository_owner }}
GHCR_PASSWORD: ${{ secrets.GITHUB_TOKEN }}

DOCKERHUB_REGISTRY: ydata

DOCKER_REPOSITORY: aws-asg-tags-lambda
Expand Down Expand Up @@ -56,53 +52,42 @@ jobs:
run: echo "::set-output name=value::$(git rev-parse --short HEAD)"


docker-tag-dockerhub:
name: Docker Tag and Push to Docker Hub
docker-tag:
name: Docker Tag and Push to public and private Container Registries
runs-on: ubuntu-20.04

needs:
- prepare

steps:
- name: Login to Dockerhub Registry
uses: docker/login-action@v2
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Docker tag and push
env:
SOURCE: ${{ env.DOCKERHUB_REGISTRY }}/${{ env.DOCKER_REPOSITORY }}:${{ needs.prepare.outputs.version }}.${{ needs.prepare.outputs.build_number }}
DESTINATION: ${{ env.DOCKERHUB_REGISTRY }}/${{ env.DOCKER_REPOSITORY }}:${{ needs.prepare.outputs.version }}
run: |
docker pull $SOURCE
docker tag $SOURCE $DESTINATION
docker push $DESTINATION
aws-access-key-id: ${{ secrets.AWS_ECR_ACCESSKEYID }}
aws-secret-access-key: ${{ secrets.AWS_ECR_SECRETACCESSKEY }}
aws-region: ${{ secrets.AWS_ECR_REGION }}

- name: Login to Amazon ECR
id: ecr
uses: aws-actions/amazon-ecr-login@v1

docker-tag-ghcr:
name: Docker Tag and Push to Github Container Registry
runs-on: ubuntu-20.04

needs:
- prepare

steps:
- name: Login to GitHub Registry
- name: Login to Dockerhub Registry
uses: docker/login-action@v2
with:
registry: ${{ env.GHCR_REGISTRY }}
username: ${{ env.GHCR_USERNAME }}
password: ${{ env.GHCR_PASSWORD }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Docker tag and push
env:
SOURCE: ${{ env.GHCR_REGISTRY }}/${{ env.DOCKER_REPOSITORY }}:${{ needs.prepare.outputs.version }}.${{ needs.prepare.outputs.build_number }}
DESTINATION: ${{ env.GHCR_REGISTRY }}/${{ env.DOCKER_REPOSITORY }}:${{ needs.prepare.outputs.version }}
SOURCE: ${{ steps.ecr.outputs.registry }}/${{ env.DOCKER_REPOSITORY }}:${{ needs.prepare.outputs.version }}.${{ needs.prepare.outputs.build_number }}
DESTINATION_ECR: ${{ steps.ecr.outputs.registry }}/${{ env.DOCKER_REPOSITORY }}:${{ needs.prepare.outputs.version }}
DESTINATION_DOCKERHUB: ${{ env.DOCKERHUB_REGISTRY }}/${{ env.DOCKER_REPOSITORY }}:${{ needs.prepare.outputs.version }}
run: |
docker pull $SOURCE
docker tag $SOURCE $DESTINATION
docker push $DESTINATION
docker tag $SOURCE $DESTINATION_ECR
docker push $DESTINATION_ECR
docker tag $SOURCE $DESTINATION_DOCKERHUB
docker push $DESTINATION_DOCKERHUB
update-manifests:
Expand All @@ -111,7 +96,7 @@ jobs:

needs:
- prepare
- docker-tag-ghcr
- docker-tag

env:
COMPONENT: ASG_TAGS_LAMBDA_VERSION
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,4 @@ LABEL org.opencontainers.image.source https://github.com/ydataai/aws-asg-tags-la
# copy executables
COPY --from=builder /workspace/.build/release /

ENTRYPOINT ["./RunLambda"]
ENTRYPOINT ["./CloudFormation"]

0 comments on commit 6369e99

Please sign in to comment.