Skip to content

pratice-2

pratice-2 #11

Workflow file for this run

# main push 되면 cicd 자동실행

Check failure on line 1 in .github/workflows/workflow.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/workflow.yml

Invalid workflow file

(Line: 14, Col: 3): The identifier 'CodeDeploy_CI/CD' is invalid. IDs may only contain alphanumeric characters, '_', and '-'. IDs must start with a letter or '_' and must be less than 100 characters.
# 컨테이너 기반 배포
# 1 배포 및 빌드: 코드checkout - java17설치 - application.yml 생성 - 빌드 - 테스트 - 도커빌드
# 2 배포: 이미지 이름 변경 - aws로그인자동화(aws-credentials) - 이미지ecr전송 - ec2ssh접속
name: CodeDeploy
on:
push:
branches:
- main
jobs:
CodeDeploy_CI/CD:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: java 17
uses: actions/setup-@v4
with:
distribution: temurin
java-version: 17
- name: application.yml 추가
run: |
mkdir -p ./src/main/resources
echo "${{secrets.APPLICATION_PROPERTIES}}" > ./src/main/resources/application.yml
- name: 빌드와테스트
run: |
chmod +x ./gradlew
./gradlew clean build
- name: 파일 이름 변경
run: mv ./build/libs/*SNAPSHOT.jar ./project.jar
- name: 압축파일 생성
run: tar -czvf $GITHUB_SHA.tar.gz project.jar scripts appspec.yml
- name: aws 로그인
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: aws-northeast-2
aws-access-key-id: ${{secrets.AWS_ACCESS_KEY_ID}}
aws-secret-access-key: ${{secrets.AWS_SECRET_ACCESS_KEY}}
- name: s3 압축파일 전달
run: aws s3 cp --region aws-northeast-2 ./$GITHUB_SHA.tar.gz s3://junig-code-deploy-s3/$GITHUB_SHA.tar.gz
- name: CodeDeploy로 ec2 agent에게 배포 명령
run: aws deploy create-deployment
--application-name depoly-server-codedepoly
--deployment-config-name CodeDeployDefault.AllAtOnce
--deployment-group-name depoly-server-prod
--s3-location bucket=junig-bucket,bundleType=tgz,key=$GITHUB_SHA.tar.gz
#on:
# push:
# branches:
# - main
#
#jobs:
# first-job:
# runs-on: ubuntu-latest
#
# steps:
# - name: 코드checkout
# uses: actions/checkout@v4
# - name: java17설치
# uses: actions/setup-java@v4
# with:
# distribution: temurin
# java-version: 17
#
# - name: application.yml 생성
# run: |
# mkdir -p ./src/main/resources
# echo "${{secrets.APPLICATION_PROPERTIES}}" > ./src/main/resources/application.yml
#
# - name: 빌드 테스트
# run: |
# chmod +x ./gradlew
# ./gradlew clean build
#
# - name: 빌드 파일 이름 변경
# run: mv ./build/libs/*SNAPSHOT.jar ./project.jar
#
# - name: 빌드 파일 압축하기 s3 전송 준비
# run: tar -czvf $GITHUB_SHA.tar.gz project.jar appspec.yml scripts
#
# - name: aws 로그인
# uses: aws-actions/configure-aws-credentials@v4
# with:
# aws-region: ap-northeast-2
# aws-access-key-id: ${{secrets.AWS_ACCESS_KEY_ID}}
# aws-secret-access-key: ${{secrets.AWS_SECRET_ACCESS_KEY}}
#
# - name: s3 프로젝트 폴더 업로드하기
# run: aws s3 cp --region ap-northeast-2 ./$GITHUB_SHA.tar.gz s3://junig-bucket/$GITHUB_SHA.tar.gz
#
# - name: code deploy로 ec2에 배포하라고 명령
# run: aws deploy create-deployment
# --application-name depoly-server-codedepoly
# --deployment-config-name CodeDeployDefault.AllAtOnce
# --deployment-group-name depoly-server-prod
# --s3-location bucket=junig-bucket,bundleType=tgz,key=$GITHUB_SHA.tar.gz