GitHub Action으로 자동 배포
2091 단어 GitHubActionsGitHub
GitHub Actions란?
GitHub Actions는 CI 툴로 GitHub에서 자동 배포를 할 수 있다.
CircleCI 등과 마찬가지로 Git 리포지토리의 액션을 기점으로 조작할 수 있다.
거의 무료로 사용할 수 있습니다.
설정에 필요한 것
CI 구성 파일을 Git 리포지토리에 커밋합니다.
.github/workflows/deploy-server.yml
설정 방법
이번 예에서는 워드 프레스 테마 파일을 Git로 관리하고 마스터 브랜치에 커밋/병합된 타이밍에 서버(Xserver를 사용)에 배포한다.
구성 파일 만들기
관리되는 리포지토리에 .github/workflows/디렉토리를 만들고 yml 파일을 만듭니다.
name: deploy wordpress theme
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: ssh key generate
run: echo "$SSH_PRIVATE_KEY" > key && chmod 600 key
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
- name: rsync deploy
run: rsync -auzrv --delete ./ $SSH_USER@$SSH_HOST:$DEPLOY_PATH --exclude ".git/" --exclude ".github/" -e "ssh -i key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p ${SSH_PORT}"
env:
SSH_USER: ${{ secrets.SSH_USER }}
SSH_HOST: ${{ secrets.SSH_HOST }}
DEPLOY_PATH: ${{ secrets.DEPLOY_PATH }}
SSH_PORT: ${{ secrets.SSH_PORT }}
이름:
이 스크립트의 설명
on:
push:
branches:
- master
무슨 일이 일어날 때이 스크립트를 시작합니까?
이 예에서는 마스터 브랜치로 푸시 될 때 시작됩니다.
jobs:
실제로 수행하는 작업을 설명합니다.
${{ secrets.SSH_USER }}
${{ }}로 둘러싸인 부분은 Github에서 설정함으로써 설정 파일에 기재하지 않고 런타임에 Github에서 읽혀진다.
변수 정의
Settings>Secrets에서 비공개로 만든 변수 정의
실행 결과 확인
Github에서 커밋하고 마스터 브랜치로 푸시
Actions 탭에서 결과를 확인하고 녹색 확인이 표시되면 배포 성공
Reference
이 문제에 관하여(GitHub Action으로 자동 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/keninph1/items/33c2c871ca884cfa58b1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
CI 구성 파일을 Git 리포지토리에 커밋합니다.
.github/workflows/deploy-server.yml
설정 방법
이번 예에서는 워드 프레스 테마 파일을 Git로 관리하고 마스터 브랜치에 커밋/병합된 타이밍에 서버(Xserver를 사용)에 배포한다.
구성 파일 만들기
관리되는 리포지토리에 .github/workflows/디렉토리를 만들고 yml 파일을 만듭니다.
name: deploy wordpress theme
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: ssh key generate
run: echo "$SSH_PRIVATE_KEY" > key && chmod 600 key
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
- name: rsync deploy
run: rsync -auzrv --delete ./ $SSH_USER@$SSH_HOST:$DEPLOY_PATH --exclude ".git/" --exclude ".github/" -e "ssh -i key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p ${SSH_PORT}"
env:
SSH_USER: ${{ secrets.SSH_USER }}
SSH_HOST: ${{ secrets.SSH_HOST }}
DEPLOY_PATH: ${{ secrets.DEPLOY_PATH }}
SSH_PORT: ${{ secrets.SSH_PORT }}
이름:
이 스크립트의 설명
on:
push:
branches:
- master
무슨 일이 일어날 때이 스크립트를 시작합니까?
이 예에서는 마스터 브랜치로 푸시 될 때 시작됩니다.
jobs:
실제로 수행하는 작업을 설명합니다.
${{ secrets.SSH_USER }}
${{ }}로 둘러싸인 부분은 Github에서 설정함으로써 설정 파일에 기재하지 않고 런타임에 Github에서 읽혀진다.
변수 정의
Settings>Secrets에서 비공개로 만든 변수 정의
실행 결과 확인
Github에서 커밋하고 마스터 브랜치로 푸시
Actions 탭에서 결과를 확인하고 녹색 확인이 표시되면 배포 성공
Reference
이 문제에 관하여(GitHub Action으로 자동 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/keninph1/items/33c2c871ca884cfa58b1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
name: deploy wordpress theme
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: ssh key generate
run: echo "$SSH_PRIVATE_KEY" > key && chmod 600 key
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
- name: rsync deploy
run: rsync -auzrv --delete ./ $SSH_USER@$SSH_HOST:$DEPLOY_PATH --exclude ".git/" --exclude ".github/" -e "ssh -i key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p ${SSH_PORT}"
env:
SSH_USER: ${{ secrets.SSH_USER }}
SSH_HOST: ${{ secrets.SSH_HOST }}
DEPLOY_PATH: ${{ secrets.DEPLOY_PATH }}
SSH_PORT: ${{ secrets.SSH_PORT }}
Github에서 커밋하고 마스터 브랜치로 푸시
Actions 탭에서 결과를 확인하고 녹색 확인이 표시되면 배포 성공
Reference
이 문제에 관하여(GitHub Action으로 자동 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/keninph1/items/33c2c871ca884cfa58b1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)