From d28abd3b5e4dd85d6e17b3794f35658ad8b4fd2e Mon Sep 17 00:00:00 2001 From: Jon Fairbanks Date: Sun, 24 Nov 2024 22:48:03 -0800 Subject: [PATCH 1/2] Fix for tagging --- .github/workflows/docker-build-develop.yml | 58 ++++++++++++++-------- 1 file changed, 36 insertions(+), 22 deletions(-) diff --git a/.github/workflows/docker-build-develop.yml b/.github/workflows/docker-build-develop.yml index 216a711..5790d3b 100644 --- a/.github/workflows/docker-build-develop.yml +++ b/.github/workflows/docker-build-develop.yml @@ -9,6 +9,27 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} jobs: + configure: + name: Configure + runs-on: ubuntu-latest + steps: + - name: Setup deployment variables + id: setup-vars + run: | + BRANCH_NAME=$(echo "${{ github.ref }}" | sed 's|refs/heads/||') + echo "Branch: $BRANCH_NAME" + if [ "$BRANCH_NAME" = "develop" ]; then + echo "Using Development" + echo "environment=development" >> $GITHUB_OUTPUT + echo "aws_key=${{ secrets.aws_access_key_id }}" >> $GITHUB_OUTPUT + echo "aws_secret=${{ secrets.aws_secret_access_key }}" >> $GITHUB_OUTPUT + elif [ "$BRANCH_NAME" = "main" ]; then + echo "Using Production" + echo "environment=production" >> $GITHUB_OUTPUT + echo "aws_key=${{ secrets.aws_access_key_id }}" >> $GITHUB_OUTPUT + echo "aws_secret=${{ secrets.aws_secret_access_key }}" >> $GITHUB_OUTPUT + fi + node-lint: name: Lint Node.js runs-on: ubuntu-latest @@ -82,19 +103,6 @@ jobs: with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - - - name: Build & Push to DockerHub - id: docker_build - uses: docker/build-push-action@v6 - with: - builder: ${{ steps.buildx.outputs.name }} - context: ./src - platforms: linux/amd64,linux/arm64 - file: ./src/Dockerfile - push: true - tags: ${{ github.repository }}:develop - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v4 @@ -108,15 +116,21 @@ jobs: uses: aws-actions/amazon-ecr-login@v2 with: mask-password: 'true' - - - name: Build & Push to Amazon ECR - env: - REGISTRY: ${{ steps.ecr-login.outputs.registry }} - REPOSITORY: yo-api - IMAGE_TAG: develop - run: | - docker build -t $REGISTRY/$REPOSITORY:$IMAGE_TAG . - docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG + + - name: Build & Push Docker image(s) + id: docker-build + uses: docker/build-push-action@v6 + with: + builder: ${{ steps.buildx.outputs.name }} + context: ./src + platforms: linux/amd64,linux/arm64 + file: ./src/Dockerfile + push: true + tags: | + ${{ github.repository }}:develop + ${{ steps.ecr-login.outputs.registry }}/yo-api:develop + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache - name: Notify Slack uses: act10ns/slack@v2 From 0565f06d367c52ccaebddab118fc3fe2651429d2 Mon Sep 17 00:00:00 2001 From: Jon Fairbanks Date: Sun, 24 Nov 2024 22:48:40 -0800 Subject: [PATCH 2/2] Create docker-compose.yml --- src/docker-compose.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/docker-compose.yml diff --git a/src/docker-compose.yml b/src/docker-compose.yml new file mode 100644 index 0000000..4cd0ff8 --- /dev/null +++ b/src/docker-compose.yml @@ -0,0 +1,12 @@ +version: '3.8' + +services: + yo-api: + # build: + # context: . + # dockerfile: src/Dockerfile + image: jonfairbanks/yo-api + ports: + - "3000:3000" + env_file: + - .env.development \ No newline at end of file