diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..588367c --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,42 @@ +name: Publish image to Public ECR + +on: + workflow_dispatch: + inputs: + image-folder: + description: 'The folder that contains the Dockerfile to build' + required: true + image-tag: + description: 'The image tag to build' + required: true + +jobs: + publish_to_public_ecr: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Login to Amazon ECR Public + id: login-ecr-public + uses: aws-actions/amazon-ecr-login@v1 + with: + registry-type: public + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + with: + platforms: linux/amd64,linux/arm64 + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: "${{ github.event.inputs.image-folder }}" + push: true + tags: public.ecr.aws/kubefirst/${{ github.event.inputs.image-folder }}:${{ github.event.inputs.image-tag }} \ No newline at end of file diff --git a/hello-world/Dockerfile b/hello-world/Dockerfile new file mode 100644 index 0000000..1818183 --- /dev/null +++ b/hello-world/Dockerfile @@ -0,0 +1,5 @@ +FROM ubuntu:latest + +COPY . . + +CMD [ "./entrypoint.sh" ] \ No newline at end of file diff --git a/hello-world/entrypoint.sh b/hello-world/entrypoint.sh new file mode 100755 index 0000000..c914ca6 --- /dev/null +++ b/hello-world/entrypoint.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +echo "hello world"