내 빌드 서버로 공유 호스팅을 사용합니다. 방법은 다음과 같습니다.

4555 단어
Hugo은 웹사이트 구축을 위한 프레임워크입니다. 특히 블로깅 및 주로 정적인 사이트에 능숙하지만 많은 사용 사례가 있습니다. 가장 빠르다고 주장하고 매우 빠르지 만 이것은 벤치마킹에 관한 것이 아닙니다.

나는 그것을 좋아하기 때문에 toha theme 을 사용할 것이지만 choose from 에는 수백 가지 테마가 있습니다.

나는 Dreamhost을 내 공유 호스팅 공급자로 사용할 것입니다. 왜냐하면 2006년부터 사용해 왔으며 그들은 나에게 잘못한 적이 없고 인간과 로봇을 잘 대하는 것 같습니다.

이 게시물은 이미 실행 중인 사이트가 있고 업그레이드만 하면 되므로 처음부터 모든 것을 다루지는 않겠지만 시간이 지남에 따라 추가 설정 세부 정보로 사이트를 확장할 수 있습니다. 업그레이드 프로세스의 많은 부분은 초기 설정에 사용된 것과 동일합니다.

최신 Hugo 릴리스 찾기


  • https://github.com/gohugoio/hugo/releases으로 이동
  • 최신(현재 0.101.0 ) 릴리스 섹션 내에서 Assets 까지 아래로 스크롤하고 extended , linux , 64bit , deb 패키지에 대한 링크를 찾으십시오. 제 경우에는 이름이 hugo_extended_0.101.0_Linux-64bit.deb 입니다.
  • 링크를 마우스 오른쪽 버튼으로 클릭하고 링크 주소를 복사하면 다음 단계에서 wget 뒤에 붙여넣습니다. 내 경우 URL은 https://github.com/gohugoio/hugo/releases/download/v0.101.0/hugo_extended_0.101.0_Linux-64bit.deb 입니다.
  • 텍스트 편집기를 열고 나중에 실행할 명령 빌드를 시작하십시오.

  • # ssh into server...
    # Make a 'faux-root' directory.
    > FAUXROOT=~/root
    > mkdir -p $FAUXROOT
    # Make a directory to hold the `.deb` packages you download.
    > mkdir -p debs
    > cd debs
    
    # Download Hugo. NOTE: Replace this link with the link you copied (probably a newer version of Hugo).
    > wget https://github.com/gohugoio/hugo/releases/download/v0.101.0/hugo_extended_0.101.0_Linux-64bit.deb
    # Download any other .deb packages you may need into this same directory.
    # Then install them all.
    > for d in *.deb; do echo "Installing $d"; dpkg -x $d $FAUXROOT; done
    


    이제 Hugo가 설치되었습니다! deploy.sh 파일 생성:

    #!/usr/bin/env bash
    
    set -x
    
    # ENV setup
    FAUXROOT=~/root
    
    # Website Info
    SITE_NAME=railsbling
    SITE_TLD=com
    SITE_DOMAIN="$SITE_NAME.$SITE_TLD"
    SITE_URL="http://www.$SITE_DOMAIN"
    # What is the theme?
    THEME_NAME=toha
    
    # Check that Hugo is installed and available at the expected path.
    $FAUXROOT/usr/local/bin/hugo version
    # I have my git repo replicated on my server, so this is a path to a repo (not a clone of a repo, an actual repo).
    # You could change this to any kind of git-cloneable address.
    # It doesn't need to be an actual repo path, just needs to be a cloneable thing.
    SITE_REPO=$HOME/$SITE_NAME.git
    # This temporary directory is used by the build process.
    # We clone the (local) repo, and remote submodule theme everytime we update.
    SITE_TMP=$HOME/tmp/$SITE_NAME
    # Where the final, built, site will land, to be served on the  internet.
    SITE_WWW=$HOME/$SITE_DOMAIN
    
    # Clone into the temporary directories.
    rm -rf "$SITE_TMP"
    git clone "$SITE_REPO" "$SITE_TMP" --recurse-submodules
    
    # Then build
    $FAUXROOT/usr/local/bin/hugo --theme="$THEME_NAME" -s "$SITE_TMP" -d "$SITE_WWW" -b "$SITE_URL"
    


    원하는 경우 이제 git post-receive 후크( $SITE_REPO/.git/hooks/post-receive )에서 이 스크립트를 호출할 수 있습니다. 그렇게 할 때 git에서 내가 알아내지 못한 이상한 오류가 발생하므로 여전히 수동으로 실행해야 합니다.

    remote: Start building sites … 
    remote: hugo v0.101.0-466fa43c16709b4483689930a4f9ac8add5c9f66+extended linux/amd64 BuildDate=2022-06-16T07:09:16Z VendorInfo=gohugoio
    remote: ERROR 2022/06/29 18:18:53 Failed to read Git log: fatal: not a git repository: '.'
    remote: Error: Error building site: logged 1 error(s)
    remote: Total in 7075 ms
    


    어쨌든 수동 결과는 작동하고 어떤 레이스에서도 이기지 못할 것입니다... 또한 이제 단일 명령입니다!

    Start building sites …
    hugo v0.101.0-466fa43c16709b4483689930a4f9ac8add5c9f66+extended linux/amd64 BuildDate=2022-06-16T07:09:16Z VendorInfo=gohugoio
    
                       | EN
    -------------------+------
      Pages            | 341
      Paginator pages  |  33
      Non-page files   |   0
      Static files     | 397
      Processed images |  40
      Aliases          | 124
      Sitemaps         |   1
      Cleaned          |   0
    
    Total in 7536 ms
    


    즐거운 코딩하세요!

    좋은 웹페이지 즐겨찾기