Skip to content
#6
name: simple-web-eks-ci
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
permissions:
contents: read
actions: read
jobs:
build:
runs-on: ubuntu-latest
env:
DOCKER_IMAGE: ${{ secrets.DOCKER_USERNAME }}/simple-web
DOCKER_TAG: ${{ github.run_number }}
steps:
- name: 1.소스코드 다운로드
uses: actions/checkout@v4
- name: 7.Docker Image Build
run: docker build -t ${{ secrets.DOCKER_USERNAME }}/simple-web:${{ env.DOCKER_TAG }} .
- name: 8.Docker Login
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
logout: true
- name: 9.Docker Push
run: |
docker push ${{ secrets.DOCKER_USERNAME }}/simple-web:${{ env.DOCKER_TAG }}
# 서비스 리포지토리 체크아웃
- name: 10.서비스 리포지토리 체크아웃
uses: actions/checkout@v4
with:
repository: dangtong-s-inc/simple-service
ref: main
path: .
token: ${{ secrets.PAT }}
# 이미지 태그 업데이트
- name: 11.쿠버네티스 매니페스트 파일 이미지 태그 업데이트
run: |
# 파일이 존재하는지 확인
ls -la
# 현재 파일 내용 확인
cat simple-deploy.yaml
sed -i "s|image: ${{ secrets.DOCKER_USERNAME }}\/simple-web.*|image: ${{ secrets.DOCKER_USERNAME }}\/simple-web:${{ env.DOCKER_TAG }}|g" simple-deploy.yaml
# 변경된 내용 확인
cat simple-deploy.yaml
# 변경사항 커밋 및 푸시
- name: 12.서비스 리포지토리 변경사항 커밋 및 푸시
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git commit -am "Update image tag to ${{ env.DOCKER_TAG }}"
git remote set-url origin https://${{ secrets.PAT }}@github.com/dangtong-s-inc/simple-service.git
git push origin main