coba dynamic env variabel, salah syntax ci cd #76
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Ci and Cd | |
on: | |
push: | |
branches: | |
- "*" | |
jobs: | |
linting: | |
name: Test and linting | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install nodejs | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.12.0 | |
- name: Install dependencies | |
working-directory: ./project | |
run: npm install | |
- name: Linting | |
working-directory: ./project | |
run: npm run lint | |
build: | |
name: Push to docker hub | |
runs-on: ubuntu-22.04 | |
needs: linting | |
if: ${{github.ref == 'refs/heads/main'}} || ${{github.ref == 'refs/heads/develop'}} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Linting Dockerfile | |
uses: hadolint/[email protected] | |
with: | |
dockerfile: project/Dockerfile | |
verbose: true | |
format: json | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login into docker hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{secrets.DOCKER_USERNAME}} | |
password: ${{secrets.DOCKER_PASSWORD}} | |
- name: Build frontend app to dockerhub | |
env: | |
DOCKER_CONTENT_TRUST: 1 | |
uses: docker/build-push-action@v5 | |
with: | |
context: "{{defaultContext}}:project" | |
push: true | |
tags: ${{secrets.DOCKER_USERNAME}}/portofolio:${{secrets.DOCKER_PORTOFOLIO_TAGS_APP}} | |
build-args: | |
VITE_SERVICE_ID=${{secrets.VITE_SERVICE_ID}} | |
VITE_PUBLIC_KEY=${{secrets.VITE_PUBLIC_KEY}} | |
VITE_TEMPLATE_ID=${{secrets.VITE_TEMPLATE_ID}} | |
- name: Push Docker image to Docker Hub | |
run: | | |
docker push ${{ secrets.DOCKER_USERNAME }}/portofolio:${{ secrets.DOCKER_PORTOFOLIO_TAGS_APP }} |