test apple env #44
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: Java CI with Gradle | |
# main branch 변경 감지 | |
# dev branch 추가 시점에 branch 에 따라 active profile 이 변경 될 수 있도록 수정 | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
# 변경 감지 시 job | |
# 1. main branch checkout | |
# 2. JDK setup | |
# 3. gradle build | |
# 4. docker build | |
# 5. code deploy | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 | |
- name: Setup Apple Key File | |
run: echo "APPLE_KEY=${{ secrets.APPLE_KEY }}" >> $GITHUB_ENV | |
- name: Build with Gradle Wrapper | |
env: | |
SPRING_PROFILES_ACTIVE: local # prod 로 변경 | |
DATABASE_URL: ${{ secrets.DATABASE_URL }} | |
DATABASE_USERNAME: ${{ secrets.DATABASE_USERNAME }} | |
DATABASE_PASSWORD: ${{ secrets.DATABASE_PASSWORD }} | |
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} | |
APPLE_LOGIN_KEY: ${{ secrets.APPLE_LOGIN_KEY }} | |
APPLE_CLIENT_ID: ${{ secrets.APPLE_CLIENT_ID }} | |
APPLE_REDIRECT_URL: ${{ secrets.APPLE_REDIRECT_URL }} | |
run: ./gradlew clean build --scan # clean build or Q class ignore | |
- name: Upload JAR as artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: build-jar | |
path: build/libs/*.jar | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Docker Hub Login | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Extract Docker metadata | |
id: docker_meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPO }} | |
tags: | | |
type=sha | |
- name: Print Docker metadata | |
run: echo "Docker images ${{ steps.docker_meta.outputs.tags }}" | |
- name: Build and Push Docker image | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./Dockerfile | |
platforms: linux/amd64, linux/arm64 | |
push: true | |
tags: | | |
${{ steps.docker_meta.outputs.tags }} | |
${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPO }}:latest | |
labels: ${{ steps.docker_meta.outputs.labels }} | |
# deploy: | |
# runs-on: ubuntu-latest | |
# needs: build | |
# steps: | |
# - uses: actions/checkout@v4 | |
# with: | |
# fetch-depth: 0 | |
# - name: Configure AWS credentials | |
# uses: aws-actions/configure-aws-credentials@v1 | |
# with: | |
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} | |
# aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }} | |
# aws-region: ${{ secrets.AWS_REGION }} | |
# | |
# - name: Create CodeDeploy Deployment | |
# id: deploy | |
# run: | | |
# aws deploy create-deployment \ | |
# --application-name ${{ secrets.AWS_DEPLOY_APP_NAME }} \ | |
# --deployment-group-name ${{ secrets.AWS_DEPLOY_GROUP }} \ | |
# --deployment-config-name ${{ secrets.AWS_DEPLOY_CONFIG }} \ | |
# --github-location repository=syber911911/sharetable-api,commitId=$(git rev-parse origin/main) | |
dependency-submission: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Generate and submit dependency graph | |
uses: gradle/actions/dependency-submission@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 |