Skip to content

Commit

Permalink
Add CI Pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
yogaperdana committed Oct 14, 2023
1 parent 08d9635 commit 6c1e5bb
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
@@ -1 +1 @@
VUE_APP_BACKEND=http://<Node_IP>:<Node_Port>
VUE_APP_BACKEND=http://localhost:30011
42 changes: 42 additions & 0 deletions .github/workflows/karsajobs-ui-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# GitHub Actions Workflow
name: KarsaJobs Frontend (UI) CI

# menentukan event yang akan men-trigger workflow
# yaitu setiap ada push baru pada branch `karsajobs-ui`
on:
push:
branches:
- karsajobs-ui

# mendefinisikan job/pekerjaan yang akan dilakukan
jobs:
karsajobs-ui-ci:
name: Test-Build-Push

# nama environment yang digunakan
environment: karsajobs-ui-prod

# menggunakan Ubuntu versi terbaru untuk menjalankan job
runs-on: ubuntu-latest

# menyusun urutan tugas
steps:

# checkout repo agar dapat diakses oleh workflow
- name: Checkout Repository
uses: actions/checkout@v4

# menggunakan tools Hadolint untuk memeriksa berkas Dockerfile
- name: Runs Hadolint Dockerfile linting tool
uses: hadolint/hadolint-action@v3.1.0
with:
dockerfile: "Dockerfile"

# menjalankan proses build dan push image
- name: Build and Push Docker Image
env:
# personal access token disimpan pada repository secrets GitHub
GHCR_PAT_TOKEN: ${{ secrets.GHCR_PAT_TOKEN }}
run: |
export GHCR_PAT_TOKEN=$GHCR_PAT_TOKEN
bash ./build_push_image_karsajobs_ui.sh
29 changes: 29 additions & 0 deletions build_push_image_karsajobs_ui.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/sh

# mendefinisikan variabel yang dipakai untuk nama image, versi image, dan nama akun GitHub
image_name="karsajobs-ui"
image_version="latest"
github_account="yogaperdana"
package_name="$github_account/$image_name:$image_version"

# membuat image di Docker dengan nama sesuai kriteria
echo -e "Building a new Docker image:"
docker build . -t $package_name

# mengubah nama image agar sesuai dengan format GitHub Container Registry
echo -e "\nGiving a new tag name to the Docker image to match the format of GitHub Container Registry:"
docker tag $package_name ghcr.io/$package_name

# melihat daftar image di lokal
echo -e "\nViewing the list of Docker images:"
docker images

# log masuk ke GitHub Container Registry
echo -e "\nLogin into GitHub Container Registry:"
docker login ghcr.io -u $github_account -p $GHCR_PAT_TOKEN

# mengunggah image ke GitHub Container Registry
echo -e "\nPublishing image to GitHub Container Registry:"
docker push ghcr.io/$package_name

echo -e "\nDone."

0 comments on commit 6c1e5bb

Please sign in to comment.