Skip to content

Frontend Nginx micro service CI #2

Frontend Nginx micro service CI

Frontend Nginx micro service CI #2

Workflow file for this run

name: Frontend Nginx micro service CI
on:
workflow_dispatch:
inputs:
version:
description: '배포하고자 하는 버전을 입력해주세요. 최신 버전이라면 생략해주세요. (git commit id 앞 8자리)'
default: 'latest'
jobs:
build:
if: github.event.inputs.version == 'latest'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
name: checkout
- name: checkout
run: git checkout ${{ github.event.inputs.version }}
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
# Build Docker image
- name: Build Docker Image
run: |
docker build -t kpring/front_app:$(git rev-parse --short=8 HEAD) .
# Push Docker image to DockerHub
- name: Push Docker Image to DockerHub
run: |
docker push kpring/front_app:$(git rev-parse --short=8 HEAD)
tagging:
needs:
- build
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- if: github.event.inputs.version != 'latest'
name: checkout
run: git checkout ${{ github.event.inputs.version }}
- name: set image tag
run: |
echo "IMAGE_TAG=$(git rev-parse --short=8 HEAD)" >> $GITHUB_ENV
- name: checkout infra repository
uses: actions/checkout@v4
with:
repository: kSideProject/kpring-infra
ssh-key: ${{ secrets.SSH_PRIVATE_KEY }}
ref: main
- name: edit infra repository image tag
run: |
echo 'env(IMAGE_TAG)'
yq eval -i '.image.tag = env(IMAGE_TAG)' ./charts/front/values.yaml
- name: commit
uses: leigholiver/[email protected]
with:
source: .
destination_repo: kSideProject/kpring-infra
deploy_key: ${{ secrets.SSH_PRIVATE_KEY }}
commit_message: 'ci: update frontend image version=${{ github.event.inputs.version }}'