Skip to content

misc(ci/cd): Initial Docker & Github Action setup #1

misc(ci/cd): Initial Docker & Github Action setup

misc(ci/cd): Initial Docker & Github Action setup #1

Workflow file for this run

name: Build xyzuan-be Development Build
on:
push:
branches:
- dev
# pull_request:
# branches:
# - main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
# - name: Log in to Docker Hub
# uses: docker/login-action@v2
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build Docker image
run: |
docker build \
--build-arg PORT=3121 \
--build-arg NODE_ENV=dev \
--build-arg DOMAIN=xyzuan.my.id \
--build-arg PASSWORD_PEPPER=${{ secrets.PASSWORD_PEPPER }} \
--build-arg DATABASE_URL=${{ secrets.DATABASE_URL }} \
--build-arg GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID }} \
--build-arg GOOGLE_CLIENT_SECRET=${{ secrets.GOOGLE_CLIENT_SECRET }} \
--build-arg GITHUB_CLIENT_ID=${{ secrets.GITHUB_CLIENT_ID }} \
--build-arg GITHUB_CLIENT_SECRET=${{ secrets.GITHUB_CLIENT_SECRET }} \
--build-arg LINKEDIN_CLIENT_ID=${{ secrets.LINKEDIN_CLIENT_ID }} \
--build-arg LINKEDIN_CLIENT_SECRET=${{ secrets.LINKEDIN_CLIENT_SECRET }} \
--build-arg TELEGRAM_TOKEN=${{ secrets.TELEGRAM_TOKEN }} \
--build-arg TELEGRAM_CHAT_ID=${{ secrets.TELEGRAM_CHAT_ID }} \
--build-arg CLOUDINARY_CLOUD_NAME=${{ secrets.CLOUDINARY_CLOUD_NAME }} \
--build-arg CLOUDINARY_API_KEY=${{ secrets.CLOUDINARY_API_KEY }} \
--build-arg CLOUDINARY_API_SECRET=${{ secrets.CLOUDINARY_API_SECRET }} \
-t xyzuan_be:latest -f misc/Dockerfile.dev .
- name: Tag Docker image
run: |
IMAGE_NAME=xyzuan_be
GIT_SHA=$(echo "${{ github.sha }}" | head -c 7)
docker tag $IMAGE_NAME:latest $IMAGE_NAME:$GIT_SHA
# - name: Push Docker image
# run: |
# IMAGE_NAME=xyzuan_be
# GIT_SHA=$(echo "${{ github.sha }}" | head -c 7)
# docker push $IMAGE_NAME:latest
# docker push $IMAGE_NAME:$GIT_SHA