国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

通過(guò) Github workflows CI/CD 自動(dòng)化部署 Github Pages hugo 免費(fèi)博客

這篇具有很好參考價(jià)值的文章主要介紹了通過(guò) Github workflows CI/CD 自動(dòng)化部署 Github Pages hugo 免費(fèi)博客。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

通過(guò) Github workflows CI/CD 自動(dòng)化部署 Github Pages hugo 免費(fèi)博客

文章博客地址:https://blog.taoluyuan.com/posts/github-workflows/

Github Workflows 介紹

GitHub Actions 介紹

  • GitHub 文檔:https://docs.github.com/zh/actions/learn-github-actions/understanding-github-actions
  • 官方介紹:GitHub Actions 是一種持續(xù)集成和持續(xù)交付 (CI/CD) 平臺(tái),可用于自動(dòng)執(zhí)行生成、測(cè)試和部署管道。 您可以創(chuàng)建工作流程來(lái)構(gòu)建和測(cè)試存儲(chǔ)庫(kù)的每個(gè)拉取請(qǐng)求,或?qū)⒑喜⒌睦≌?qǐng)求部署到生產(chǎn)環(huán)境

流程及原理介紹

  • 本文主要介紹使用GitHub Actions 來(lái)實(shí)現(xiàn)自動(dòng)化部署博客網(wǎng)站 ,靜態(tài)網(wǎng)站生成使用的是Hugo,部署使用的是Github pages,并且使用自定義域名。
    通過(guò) Github workflows CI/CD 自動(dòng)化部署 Github Pages hugo 免費(fèi)博客
  1. 本地寫hugo-blog 博客,hugo-blog 是一個(gè)hugo的博客模板,使用hugo new site hugo-blog命令創(chuàng)建,可以在里面寫markdown文件
  2. 寫好后推送到github hugo-blog 倉(cāng)庫(kù),觸發(fā)github actions ci/cd,執(zhí)行hugo命令生成靜態(tài)網(wǎng)站,并且推送到github-pages 倉(cāng)庫(kù)
  3. github-pages 倉(cāng)庫(kù)接收到推送后,會(huì)自動(dòng)部署到github pages,公網(wǎng)可以通過(guò) github pages 域名 訪問(wèn),也可以通過(guò)CNAME配置自定義域名訪問(wèn)

Github Pages 介紹

  • Github Pages 是一個(gè)靜態(tài)網(wǎng)站托管服務(wù),可以通過(guò)github pages 托管靜態(tài)網(wǎng)站,并且可以通過(guò)自定義域名訪問(wèn)
  • 創(chuàng)建github pages 倉(cāng)庫(kù),倉(cāng)庫(kù)名必須是username.github.io格式,username是你的github用戶名,倉(cāng)庫(kù)名必須是這個(gè),否則無(wú)法部署成功 訪問(wèn)地址就是 https://username.github.io
  • 自定義域名訪問(wèn),例如www.abc.com,在域名服務(wù)商添加CNAME記錄,指向username.github.io, 然后在github pages 倉(cāng)庫(kù)設(shè)置中添加自定義域名, 這樣通過(guò)www.abc.com 就能訪問(wèn)github pages
  • 下面的 Actions 部分會(huì)介紹如何自動(dòng)化部署到github pages,并且配置自定義域名

Hugo 介紹

  • Hugo 是一個(gè)靜態(tài)網(wǎng)站生成器,可以通過(guò)markdown文件生成靜態(tài)網(wǎng)站,官網(wǎng):https://gohugo.io/
  • 寫好markdown文件后,執(zhí)行hugo命令,在public目錄生成靜態(tài)網(wǎng)站,然后 將public目錄推送到github pages 倉(cāng)庫(kù)
  • github actions工作流 就是通過(guò)hugo命令生成靜態(tài)網(wǎng)站,并且推送到github pages 倉(cāng)庫(kù)

使用 Github Actions 自動(dòng)化部署

創(chuàng)建 Github Actions

在github 倉(cāng)庫(kù)中(hugo-blog)創(chuàng)建.github/workflows目錄,并且在目錄中創(chuàng)建deploy.yml文件,文件名可以自定義,但是后綴必須是yml,例如deploy.yml,這樣就創(chuàng)建了一個(gè)github actions,并且會(huì)自動(dòng)執(zhí)行,下面介紹我的deploy.yml文件

name: deploy

on:
    push:
    workflow_dispatch:
jobs:
    build:
        runs-on: ubuntu-latest
        steps:
            - name: Checkout
              uses: actions/checkout@v2
              with:
                  submodules: true
                  fetch-depth: 0

            - name: Setup Hugo
              uses: peaceiris/actions-hugo@v2
              with:
                  hugo-version: "latest"

            - name: Build Web
              run: hugo

            - name: Deploy Web
              uses: peaceiris/actions-gh-pages@v3
              with:
                  PERSONAL_TOKEN: ${{ secrets.BLOG_TOKEN }}
                  EXTERNAL_REPOSITORY: webws/webws.github.io
                  PUBLISH_BRANCH: master
                  PUBLISH_DIR: ./public
                  commit_message: ${{ github.event.head_commit.message }}
                  cname: ${{ secrets.DOMAIN }}

上面 GitHub Actions配置文件用于自動(dòng)部署Hugo博客到我的 GitHub Pages。以下是每個(gè)步驟的功能和解釋:

步驟1:Checkout

此步驟使用 actions/checkout 插件來(lái)檢出 GitHub 倉(cāng)庫(kù),具體使用文檔地址是 checkout
submodules: true 參數(shù)用于同時(shí)檢出子模塊,fetch-depth: 0 用于完整地檢出所有歷史記錄。

步驟2:Setup Hugo

此步驟使用 peaceiris/actions-hugo 插件來(lái)安裝最新版本的 Hugo。

- name: Setup Hugo
  uses: peaceiris/actions-hugo@v2
  with:
    hugo-version: "latest"
步驟3:Build Web

此步驟在運(yùn)行時(shí)調(diào)用 Hugo 構(gòu)建靜態(tài)網(wǎng)站,并在 public 目錄中生成靜態(tài)html文件

- name: Build Web
  run: hugo
步驟4:Deploy Web

此步驟使用 peaceiris/actions-gh-pages 插件將靜態(tài)網(wǎng)站部署到 GitHub Pages 上。

- name: Deploy Web
  uses: peaceiris/actions-gh-pages@v3
  with:
    PERSONAL_TOKEN: ${{ secrets.BLOG_TOKEN }}
    EXTERNAL_REPOSITORY: webws/webws.github.io
    PUBLISH_BRANCH: master
    PUBLISH_DIR: ./public
    commit_message: ${{ github.event.head_commit.message }}
    cname: ${{ secrets.DOMAIN }}

參數(shù)的含義:

  • PERSONAL_TOKEN: GitHub Personal Access Tokens 用于訪問(wèn) GitHub 倉(cāng)庫(kù),需要 到[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-Aw7AxQxq-1685421847201)(null)] ,添加權(quán)限 并將Token存儲(chǔ)在倉(cāng)庫(kù)的 Secrets 中以供 Workflow 使用
  • EXTERNAL_REPOSITORY: 部署到的 GitHub Pages 倉(cāng)庫(kù),webws/webws.github.io 是我的github pages 倉(cāng)庫(kù),需要修改為你的github pages 倉(cāng)庫(kù)
  • PUBLISH_BRANCH: 要在其上部署站點(diǎn)的分支名稱(通常為master)。
  • PUBLISH_DIR: hugo 靜態(tài)html文件目錄。(在此例中,Hugo 輸出位于 ./public 目錄中)。
  • commit_message: 提交更改時(shí)使用的提交消息,從上游分支獲取。
  • cname: 自定義域名,CNAME記錄,我自己的是 blog.taoluyuan.com,需要修改為你的自定義域名,如果沒有,可以刪除這個(gè)參數(shù),使用默認(rèn)的github pages域名也訪問(wèn) webws.github.io

設(shè)置 Secrets 變量,對(duì)應(yīng) yml 文件中的 PERSONAL_TOKEN 和 DOMAIN ,具體設(shè)置 在 倉(cāng)庫(kù)中(hugo-blog) 的 Settings -> secrets and variables->actions 中,hugo-blog 要換成你自己的倉(cāng)庫(kù)名文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-469183.html

  • BLOG_TOKEN: GitHub Personal Access Token。
  • DOMAIN: 你的自定義域名。

觸發(fā) Github Actions

  • 在github 倉(cāng)庫(kù)中(hugo-blog)創(chuàng)建.md文件,并且提交到github,這樣就會(huì)觸發(fā)github actions,自動(dòng)部署到github pages 倉(cāng)庫(kù),并且可以通過(guò)自定義域名訪問(wèn)了
  • 可以通過(guò) 倉(cāng)庫(kù)中 Actions 標(biāo)簽查看部署狀態(tài)

訪問(wèn) Github Pages

  1. 通過(guò)github pages域名訪問(wèn), https://webws.github.io,因?yàn)槲以O(shè)置了自定義域名,所以這個(gè)域名會(huì)自動(dòng)跳轉(zhuǎn)到 https://blog.taoluyuan.com
  2. 通過(guò)自定義域名訪問(wèn), https://blog.taoluyuan.com

到了這里,關(guān)于通過(guò) Github workflows CI/CD 自動(dòng)化部署 Github Pages hugo 免費(fèi)博客的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • CI/CD:GitLab-CI 自動(dòng)化集成/部署 JAVA微服務(wù)的應(yīng)用合集

    CI/CD:GitLab-CI 自動(dòng)化集成/部署 JAVA微服務(wù)的應(yīng)用合集

    日常開發(fā)中,每次代碼編寫完成后,都需要手動(dòng)打包,并且上傳服務(wù)器,無(wú)論本地打包的時(shí)間或者上傳文件到服務(wù)器都需要花費(fèi)大量的時(shí)間來(lái)完成,都是重復(fù)的并且毫無(wú)意義,應(yīng)該將時(shí)間花費(fèi)在更有價(jià)值的時(shí)間上;所以編寫這篇文章,將自己收集、搭建、測(cè)試的步驟或經(jīng)驗(yàn)匯

    2024年02月08日
    瀏覽(24)
  • 《DevOps企業(yè)級(jí)CI/CD實(shí)戰(zhàn)》:一站式掌握DevOps核心方法論,實(shí)現(xiàn)高效自動(dòng)化部署

    《DevOps企業(yè)級(jí)CI/CD實(shí)戰(zhàn)》:一站式掌握DevOps核心方法論,實(shí)現(xiàn)高效自動(dòng)化部署

    DevOps是一組實(shí)踐,由人、工具和文化理念組成。DevOps的核心是實(shí)現(xiàn)軟件開發(fā)團(tuán)隊(duì)和IT運(yùn)維團(tuán)隊(duì)之間的流程自動(dòng)化。自2018年起,筆者參與了大型企業(yè)中多個(gè)項(xiàng)目的DevOps項(xiàng)目實(shí)施和改進(jìn),從中積累了豐富的實(shí)踐經(jīng)驗(yàn)。于是將實(shí)踐思考與開發(fā)經(jīng)驗(yàn)整理成一本書分享給同路人共同學(xué)習(xí)

    2024年04月14日
    瀏覽(27)
  • 使用GitLab CI/CD 定時(shí)運(yùn)行Playwright自動(dòng)化測(cè)試用例
  • 微服務(wù) & 云原生:基于 Gogs + Drone 實(shí)現(xiàn) CI/CD 自動(dòng)化

    微服務(wù) & 云原生:基于 Gogs + Drone 實(shí)現(xiàn) CI/CD 自動(dòng)化

    以一個(gè)簡(jiǎn)單的前后端項(xiàng)目來(lái)說(shuō),分別編寫前后端的 Dockerfile 文件并構(gòu)建鏡像,然后編寫 docker-compose.yml 構(gòu)建部署,啟動(dòng)運(yùn)行。每次代碼變更后都需重新手動(dòng)打包、構(gòu)建、推送。 一個(gè)簡(jiǎn)單的例子: 前端: 項(xiàng)目名:kubemanagement-web 技術(shù)棧:Vue 后端: 項(xiàng)目名:kubemanagement 技術(shù)棧:

    2024年02月13日
    瀏覽(22)
  • 在 CI/CD流水線中運(yùn)行自動(dòng)化單元測(cè)試的4個(gè)原因

    目錄 什么是單元測(cè)試? C#中的單元測(cè)試示例 我需要在CI/CD 流水線中運(yùn)行自動(dòng)化測(cè)試嗎? 開發(fā)人員代碼驗(yàn)證反饋循環(huán) 預(yù)驗(yàn)證 步步為營(yíng) 減少“另一個(gè)開發(fā)人員寫了這段代碼”的問(wèn)題 單元測(cè)試 什么是單元測(cè)試? 單元測(cè)試是一小段代碼,用于測(cè)試應(yīng)用程序編寫的代碼的邏輯。單

    2024年02月16日
    瀏覽(50)
  • 基于Docker構(gòu)建CI/CD工具鏈(七)使用Jmeter進(jìn)行自動(dòng)化壓測(cè)

    基于Docker構(gòu)建CI/CD工具鏈(七)使用Jmeter進(jìn)行自動(dòng)化壓測(cè)

    上一篇文章中,我們?cè)敿?xì)介紹了構(gòu)建 Apifox Cli 的 Docker 鏡像的步驟,并通過(guò)簡(jiǎn)單的示例演示了如何利用 GitLab 的 CI/CD 功能,將構(gòu)建好的鏡像利用在自動(dòng)化測(cè)試作業(yè)中。在今天的文章中,我們將重點(diǎn)討論如何構(gòu)建 JMeter 的 Docker 鏡像,并演示如何在 GitLab 的 CI/CD 作業(yè)中利用該鏡像

    2024年04月16日
    瀏覽(35)
  • 通過(guò) Postman+Newman+Jenkins 進(jìn)行接口自動(dòng)化測(cè)試和進(jìn)一步實(shí)現(xiàn) CI

    目錄 前言: Postman 部分 Collection 或者說(shuō)測(cè)試集的建立 Postman 使用詳解 測(cè)試工具 mock server Newman 的安裝和使用 newman 的使用 對(duì) SSL 的支持 newman 第三版以后(目前已經(jīng)是 4.3.1)可以支持通過(guò) CLI 選項(xiàng)來(lái)支持 SSL 對(duì) newman 配置代理:通過(guò)對(duì) Postman 的 request 環(huán)境變量進(jìn)行設(shè)置來(lái)完成代

    2024年02月16日
    瀏覽(22)
  • uni-app 微信小程序CI機(jī)器人自動(dòng)化部署方案

    uni-app 微信小程序CI機(jī)器人自動(dòng)化部署方案

    1. 微信公眾平臺(tái)上,在開發(fā)設(shè)置里面小程序代碼,將上傳代碼的服務(wù)IP地址填充下,生成一個(gè)上傳秘鑰下載下來(lái) 2. 將下載的秘鑰文件放在uni-cli 項(xiàng)目的根目錄下 3. npm 微信官方的miniprogram-ci模塊 4. 把上面的代碼寫到一個(gè)js 文件放在項(xiàng)目根目錄下 5. 在package.json里面寫好打包和啟

    2024年02月15日
    瀏覽(31)
  • Github 自動(dòng)化部署

    Github 自動(dòng)化部署

    官方地址 點(diǎn)擊進(jìn)入 注冊(cè)/登錄 .githubworkflows 固定不變 develop.yml 文件名自定義 變量解釋 secrets 是定義在github中的變量 通過(guò) secerts.變量名 來(lái)取值 steps steps 是github action的 create_release 是上一個(gè)步驟的 id outputs.upload_url 是上一個(gè)步驟的返回結(jié)果 倉(cāng)庫(kù)地址:https://github.com/yi-

    2024年02月03日
    瀏覽(23)
  • Github 自動(dòng)化部署到GitHub Pages

    Github 自動(dòng)化部署到GitHub Pages

    前言 github倉(cāng)庫(kù)示例: automated-deployment 1.準(zhǔn)備工作 新建倉(cāng)庫(kù) 新建項(xiàng)目 配置 vite.config.ts 部署應(yīng)用包時(shí)的基本URL,例:vue-cli 5.x 配置 publicPath 推送到遠(yuǎn)程倉(cāng)庫(kù) 2.配置 GitHub Token 點(diǎn)擊 Settings - Actions - General 找到 Workflow permissions,選中第一項(xiàng)并保存 工作流默認(rèn)是沒有推送代碼的權(quán)限,

    2024年02月05日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包