-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Feature/kustomize] CI/CD 배포 자동화를 위한 CI 코드 작성 완료 (#15)
1. GO Build - GO 1.21.x 버전으로 Build 테스트 2. Docker Build - Dockerfile 기반으로 Build 테스트 3. Docker Private Registry push - NCP Registry에 Docker Image Push 4. Push image tag CICD Repo - aviator-cicd repo에 image tag 업데이트
- Loading branch information
1 parent
918b17a
commit 4ca6455
Showing
2 changed files
with
69 additions
and
10 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,11 +8,76 @@ on: | |
branches: | ||
- master | ||
- develop | ||
- feature/** | ||
|
||
env: | ||
PRIVATE_REGISTRY_URL: "aviator-registry.kr.ncr.ntruss.com" | ||
SERVICE_NAME: "aviator" | ||
|
||
jobs: | ||
deploy: | ||
build: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
go-version: ['1.21.x'] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Setup Go ${{ matrix.go-version }} | ||
uses: actions/setup-go@v4 | ||
with: | ||
go-version: ${{ matrix.go-version }} | ||
|
||
# You can test your matrix by printing the current Go version | ||
- name: Display Go version | ||
run: go version | ||
|
||
build-and-push-image: | ||
name: Push Docker image to Docker Hub | ||
runs-on: ubuntu-latest | ||
needs: build | ||
|
||
permissions: | ||
contents: read | ||
packages: write | ||
|
||
steps: | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
|
||
- name: Check out the repo | ||
uses: actions/checkout@v4 | ||
|
||
### Private Docker Registry Login | ||
- name: Log in to the Container registry | ||
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 | ||
with: | ||
registry: ${{ env.PRIVATE_REGISTRY_URL }} | ||
username: ${{ secrets.PRIVATE_REGISTRY_USERNAME }} | ||
password: ${{ secrets.PRIVATE_REGISTRY_PASSWORD }} | ||
|
||
- name: Extract metadata (tags, labels) for Docker | ||
id: meta | ||
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 | ||
with: | ||
images: ${{ env.PRIVATE_REGISTRY_URL }}/${{ env.SERVICE_NAME }} | ||
|
||
### Private Registry push | ||
- name: Build and push Docker image | ||
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 | ||
with: | ||
context: . | ||
push: true | ||
tags: ${{ env.PRIVATE_REGISTRY_URL }}/${{ env.SERVICE_NAME }}:${{ github.sha }} | ||
labels: ${{ github.sha }} | ||
|
||
deploy: | ||
runs-on: ubuntu-latest | ||
needs: build-and-push-image | ||
steps: | ||
- uses: actions/labeler@v2 | ||
with: | ||
|
@@ -25,12 +90,6 @@ jobs: | |
echo VERSION=$VERSION | ||
echo "::set-output name=version::$VERSION" | ||
### Private Docker Registry 정보 가져오기 | ||
|
||
### Docker Build | ||
|
||
### Docker Registry에 image push | ||
|
||
# kustomize 명령을 가져온다. | ||
- name: Setup Kustomize | ||
uses: imranismail/setup-kustomize@v1 | ||
|
@@ -47,13 +106,13 @@ jobs: | |
- name: Update Kubernetes resources | ||
run: | | ||
cd prd | ||
kustomize edit set image ${{ env.IMAGE_NAME }}:${{ steps.image.outputs.version }} | ||
kustomize edit set image ${{ env.PRIVATE_REGISTRY_URL }}/${{ env.SERVICE_NAME }}:${{ github.sha }} | ||
cat kustomization.yaml | ||
# 수정된 파일 commit & push | ||
- name: Commit files | ||
run: | | ||
git config user.name github-actions | ||
git config user.email [email protected] | ||
git commit -am "Update image tag ${{ env.IMAGE_NAME }}:${{ steps.image.outputs.version }}" | ||
git commit -am "Update image tag ${{ env.PRIVATE_REGISTRY_URL }}/${{ env.SERVICE_NAME }}:${{ github.sha }}" | ||
git push origin main |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
# Build the manager binary | ||
FROM golang:1.20 as builder | ||
FROM golang:1.21 as builder | ||
ARG TARGETOS | ||
ARG TARGETARCH | ||
|
||
|