Github action은 workflow를 자동화할 수 있도록 도와주는 도구입니다. 테스트, 빌드, 배포 등의 다양한 작업들을 자동화하여 처리를 합니다.
우선 github action을 적용할 수 있는 방법은 두가지가 있습니다.
프로젝트 폴더안에 .github/workflows 폴 안에 .yml파일을 추가하거나
github 사이트에서 추가할 수 있습니다.
github 사이트에서 추가하는 방법을 알아보도록 하겠습니다.
github에서 actions를 클릭을합니다.
그러면 위와같은 화면이 나오는데 set up a workflow yourself를 클릭해줍니다.
그러면 위와같이 코드를 편집할 수 있는 창이나오는데요.
저같은 경우에는 dev브랜치에 push할 경우 s3에 업로드를 하게되고 s3에 업로드된 파일들을 code deploy를 통하여 ec2로 배포하게끔 설정을 하였는데 해당 방법들을 어떻게 설정하는지 알아보도록 하겠습니다.
우선 ec2에 접속하여서 jdk를 설치해야합니다.
sudo api install openjdk-8-jdk
그리고 code deploy를 사용하기 위해서 code deploy agent를 설치합니다.
sudo apt-get update
sudo apt-get install ruby
sudo apt-get install wget
cd /home/ubuntu
wget https://bucket-name.s3.region-identifier.amazonaws.com/latest/install
chmod +x ./install
sudo ./install auto
설치 후 code deploy agent가 실행중인지 확인합니다.
sudo service codedeploy-agent status
iam -> 역할 -> 역할 만들기를 선택해줍니다.
EC2를 선택하고 다음:권한을 클릭합니다.
정책부분은 CodeDeployFullAccess, S3FullAccess 선택 후 생성을 합니다.
그렇게 역할을 생성하고
EC2로 이동후 해당 인스턴스를 선택하고 작업 -> 인스턴스 설정 -> IAM 역할 연결/바꾸기를 클릭하고 좀 전에 만들었더 IAM Role를 선택해줍니다. 이렇게 설정을하고나면 codedeploy 서비스를 이용할 수 있습니다.