Github Actions 는 SSH 를 통 해 Hexo 를 자동 으로 배치 합 니 다.

7162 단어 CI 지속 통합
본 고 는 오리지널 입 니 다. 전재 할 때 출처 를 밝 혀 주 십시오. 여러분 이 나의 새 블 로그 에 관심 을 가 져 주 시 는 것 을 환영 합 니 다.
Hexo 의 자동 배치
현재 의 주류 방식:
  • Travis CI: travis - ci. org 는 오픈 소스 프로젝트 를 대상 으로 Github 의 모든 공개 창 고 를 무료 로 사용 할 수 있 습 니 다.travis - ci. com 은 사유 및 상업 프로젝트 에 대해 새로운 사용자 가 100 번 구축 하기 전에 무료 이 고 그 다음 에 비용 을 받 아야 합 니 다.현재 github 사유 라 이브 러 리 는 무료 입 니 다!!
  • Githoks: 이것 은 vps 로 컬 배치 시 nginx 와 협조 하면 추천 합 니 다
  • Github Actions: 지속 적 인 통합, 소프트웨어 개발 작업 절차 자동 실행
  • 설명 하 다.
    얼마 전에 놀 때 dockerdocker 환경 을 만 들 었 는데 Hexo 환경 구축 사용 Hexo 이 너무 무 거 운 것 같 아 요.
    이번에 사용 한 것 은 Github Actions 입 니 다. 바로 간단 하고 VPS, 공유 창고 무료, 사유 창고 가 필요 없 기 때문에 매달 2000 분 동안 이 새로운 기능 을 체험 할 수 있 습 니 다. 저 는 deploy 방식 을 사용 하기 때문에 공유 창 고 는 당신 의 수요 에 달 려 있 습 니 다. github page, gitlab, coding, gitee, vps 등 이 있 습 니 다. 여 기 는 github 로 예 를 들 수 있 습 니 다.
    deploy 방식 이기 때문에 플러그 인 을 설치 해 야 합 니 다.
    npm install hexo-deployer-git --save
    

    Hexo 프로젝트 루트 디 렉 터 리 설정 파일 docker 에 동시에 설정
    deploy:
      type: git
      repo: [email protected]:Github   /Github   .github.io.git
      branch: master
    

    환경 준비
  • 개인 창고: blog
  • 여 기 는 Hexo 블 로그 원본 을 저장 하고 있 습 니 다.
  • 공유 창고: 사용자 이름. github. io
  • 이것 은 Public 정적 페이지 에 사용 되 는 창고 입 니 다. 초기 화 및 작업 이 없습니다.
    따라서 아직 Hexo 를 만 들 지 않 았 다 면 공식 빠 른 시작 문 서 를 참고 하 십시오.
    키 준비
    GitHub Actions 를 편리 하 게 실행 할 때 GitHub 계 정 에 로그 인하 기 위해 SSH 방식 으로 로그 인 합 니 다.장치 의 비밀 키 를 GitHub Actions 에 맡 기 고 공개 키 를 GitHub 에 맡 기 려 면 Settings 에서 설정 해 야 합 니 다.
    ssh - keygen 을 사용 하여 공공 비밀 키 쌍 을 생 성 합 니 다.
    ssh-keygen -t rsa -C "Github      "
    
      ssh-keygen -t rsa -C "[email protected]"
    
  • 공개 키 설정, 이미 설정 되 어 있 을 것 입 니 다. 그렇지 않 으 면 어떻게 올 라 가 는 프로젝트 자원, 설정 경로: github 사이트 – > Settings – > SSH and GPG keys
  • 비밀 키 설정, blog 개인 창고 의 Settings - > Secrets 에 비밀 키 추가, 이름 _config.yaml
  • GitHub 동작 설정
    GitHub Actions 는 자신 만 의 용어 가 있 습 니 다.
  • workflow (작업 절차): 한 번 의 운행 과정 을 지속 적 으로 통합 하 는 것 이 바로 workflow 입 니 다.
  • job (퀘 스 트): 하나의 workflow 는 하나 이상 의 jobs 로 구성 되 어 있 으 며, 한 번 의 지속 적 인 통합 운영 으로 여러 임 무 를 수행 할 수 있다 는 뜻 이다.
  • step (절차): 모든 job 는 여러 step 로 구성 되 어 한 걸음 한 걸음 완성 된다.
  • action (동작): step 마다 하나 이상 의 명령 (action) 을 순서대로 수행 할 수 있 습 니 다.

  • 블 로그 창고 의 Actions 옵션 에서 새 워 크 플 로 우 를 누 르 십시오. 이름 이 기본 또는 사용자 정의 로 변경 되 었 습 니 다. 다음 설정 을 작성 하 십시오.
    # workflow name
    name: Hexo Blog CI
    
    # master branch on push, auto run
    on: 
      push:
        branches:
          - master
          
    jobs:
      build: 
        runs-on: ubuntu-latest 
            
        steps:
        # check it to your workflow can access it
        # from: https://github.com/actions/checkout
        - name: Checkout Repository master branch
          uses: actions/checkout@master 
          
        # from: https://github.com/actions/setup-node  
        - name: Setup Node.js 10.x 
          uses: actions/setup-node@master
          with:
            node-version: "10.x"
        
        - name: Setup Hexo Dependencies
          run: |
            npm install hexo-cli -g
            npm install
        
        - name: Setup Deploy Private Key
          env:
            HEXO_DEPLOY_PRIVATE_KEY: ${{ secrets.HEXO_DEPLOY_PRIVATE_KEY }}
          run: |
            mkdir -p ~/.ssh/
            echo "$HEXO_DEPLOY_PRIVATE_KEY" > ~/.ssh/id_rsa 
            chmod 600 ~/.ssh/id_rsa
            ssh-keyscan github.com >> ~/.ssh/known_hosts
            
        - name: Setup Git Infomation
          run: | 
            git config --global user.name 'Github   ' 
            git config --global user.email 'Github    '
        - name: Deploy Hexo 
          run: |
            hexo clean
            hexo generate 
            hexo deploy
    

    이 명령 들 은 주석 이 필요 없 이 모두 알 아 볼 수 있 습 니 다. VPS 에 발표 하려 면 run 명령 만 실행 하면 됩 니 다.

    좋은 웹페이지 즐겨찾기