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

GitHub Action 通過(guò)SSH 自動(dòng)部署到云服務(wù)器上

這篇具有很好參考價(jià)值的文章主要介紹了GitHub Action 通過(guò)SSH 自動(dòng)部署到云服務(wù)器上。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

準(zhǔn)備

正式開(kāi)始之前,你需要掌握 GitHub Action 的基礎(chǔ)語(yǔ)法:

  • workflow (工作流程):持續(xù)集成一次運(yùn)行的過(guò)程,就是一個(gè) workflow。
  • name: 工作流的名稱(chēng)。
  • on: 指定次工作流的觸發(fā)器。push 表示只要有人將更改推送到倉(cāng)庫(kù)就會(huì)觸發(fā)工作流運(yùn)行。(點(diǎn)擊這里了解如何指定特定分支,路徑或標(biāo)簽)
  • jobs: 將工作流運(yùn)行的所有作業(yè)組合到一起。
  • build-and-deploy: 定義的作業(yè)的名稱(chēng)。
  • runs-on: 將作業(yè)配置為在最新版本的 Ubuntu Linux 上運(yùn)行。這意味著作業(yè)將在 GitHub 托管的新虛擬機(jī)上執(zhí)行。有關(guān)使用其他運(yùn)行器的語(yǔ)法示例,請(qǐng)參閱 GitHub 操作的工作流語(yǔ)法。
  • steps: 將作業(yè)中運(yùn)行的所有步驟組合在一起。嵌套在此部分下的每個(gè)項(xiàng)都是一個(gè)單獨(dú)的操作或 shell 腳本。
  • uses: 指定需要運(yùn)行的 action。
  • env: 指定運(yùn)行 action 時(shí)需要用到的環(huán)境變量的值。

一、密鑰準(zhǔn)備

為了方便運(yùn)行GitHub Actions時(shí)登錄GitHub賬號(hào),我們使用SSH方式登錄。就是要把設(shè)備的私鑰交給GitHub Actions,公鑰交給GitHub,需要去Settings里去配置。

使用ssh-keygen生成一組公私秘鑰對(duì)

ssh-keygen -t rsa -C "Github 的郵箱地址"

如 ssh-keygen -t rsa -C "123@gmail.com"
  • 配置公鑰,配置路徑:github你的首頁(yè)–>Settings–>SSH and GPG keys
  • 配置私鑰,項(xiàng)目私有倉(cāng)庫(kù)的Settings->Secrets里添加私鑰,名稱(chēng)為PRIVATE_KEY
    ssh-deploy,github,ssh,服務(wù)器

二、新建項(xiàng)目倉(cāng)庫(kù)

在倉(cāng)庫(kù)的Actions選項(xiàng)卡下點(diǎn)擊新建.github/workflow/blank.yml,名稱(chēng)默認(rèn)或者自定義修改,配置如下:

# This is a basic workflow to help you get started with Actions

name: Deploy My Server

on:
  push:
    branches: [ master ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - uses: actions/checkout@v2

      - name: use Node.js
        # 使用action庫(kù)  actions/setup-node安裝node
        uses: actions/setup-node@v1
        with:
          node-version: 16.x
      # 安裝依賴(lài)
      - name: npm install
        run: npm install
      # 打包
      - name: npm build
        run: npm run build
      # 部署到服務(wù)器
      - name: deploy
        uses: easingthemes/ssh-deploy@v2.1.1
        env:
          # 本地.ssh文件下的私鑰id_rsa,存在secrets的PRIVATE_KEYSSH_PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }}
          # 復(fù)制操作的參數(shù)。"-avzr --delete"意味部署時(shí)清空服務(wù)器目標(biāo)目錄下的文件
          ARGS: "-avzr --delete" 
          # 源目錄,相對(duì)于$GITHUB_WORKSPACE根目錄的路徑
          SOURCE: "./public/"
          # 服務(wù)器域名/IP
          REMOTE_HOST: ${{ secrets.HOST }}
          # 服務(wù)器默認(rèn)用戶名為root
          REMOTE_USER: "root"
          # 目標(biāo)目錄
          TARGET: '/usr/local/xxx/dist'
          # 排除目錄
          EXCLUDE: "/node_modules/"


參數(shù)項(xiàng):

  • 部署到云服務(wù)器上需要用到 easingthemes/ssh-deploy@main
  • SSH_PRIVATE_KEY: 是在服務(wù)器上生成的 SSH 私鑰,可以使用命令 ssh-keygen -m PEM -t rsa -b 4096 生成,并配置到倉(cāng)庫(kù)的 Secrets 中。
  • ARGS: 默認(rèn)即可。
  • SOURCE: 需要上傳到服務(wù)器上的文件的目錄。
  • REMOTE_HOST: 服務(wù)器公網(wǎng) IP 或域名。
  • REMOTE_USER: 服務(wù)器 SSH 用戶名。
  • TARGET: 文件上傳到服務(wù)器上保存的目錄。
  • EXCLUDE: 可指定部分文件不上傳。

文件同步原理請(qǐng)參考rsync教程

三、push分支到倉(cāng)庫(kù)

push內(nèi)容到倉(cāng)庫(kù)后,Action會(huì)自動(dòng)執(zhí)行工作流,此時(shí)你再看看你配置的TARGET服務(wù)器目錄,就會(huì)發(fā)現(xiàn)文件dist被拷貝過(guò)去了
ssh-deploy,github,ssh,服務(wù)器文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-803313.html

到了這里,關(guān)于GitHub Action 通過(guò)SSH 自動(dòng)部署到云服務(wù)器上的文章就介紹完了。如果您還想了解更多內(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)文章

  • 蒼穹外賣(mài)部署到云服務(wù)器使用Docker學(xué)習(xí)筆記

    蒼穹外賣(mài)部署到云服務(wù)器使用Docker學(xué)習(xí)筆記

    通過(guò)部署docker學(xué)習(xí)過(guò)程中產(chǎn)生的經(jīng)驗(yàn)寫(xiě)下本文,本文完成前端和后端代碼部署,網(wǎng)上的教程對(duì)小白很不友好,寫(xiě)下本文方便自己以后自己查閱并分享給大家讓大家盡量少踩坑,可以順利學(xué)會(huì)docker并成功部署項(xiàng)目 注:服務(wù)器系統(tǒng)使用CentOS7,遠(yuǎn)程工具使用寶塔,宿主機(jī)(服務(wù)器

    2024年02月02日
    瀏覽(173)
  • 嘗鮮!最新 VitePress 1 版本 + Github action,自動(dòng)部署個(gè)人靜態(tài)站點(diǎn) SSG

    嘗鮮!最新 VitePress 1 版本 + Github action,自動(dòng)部署個(gè)人靜態(tài)站點(diǎn) SSG

    今天查看 vue 文檔時(shí),剛好看到 vue 官網(wǎng)宣布 VitePress 1 更新了: 然后在路上走著走著,突然想著,也許我可以把我的筆記倉(cāng)庫(kù)轉(zhuǎn)換成在線文檔(畢竟純粹的 md 筆記,喜歡的人不多)。 同時(shí),由于我很久之前有過(guò)這 vuepress 的使用經(jīng)驗(yàn),而且前段時(shí)間又復(fù)習(xí)了一下 github action,

    2024年04月08日
    瀏覽(23)
  • 【Springboot】--如何將springboot+vue項(xiàng)目部署到云服務(wù)器?

    【Springboot】--如何將springboot+vue項(xiàng)目部署到云服務(wù)器?

    目錄 一、準(zhǔn)備工作 1、購(gòu)買(mǎi)云服務(wù)器 2、獲取面板地址 二、jdk和數(shù)據(jù)庫(kù) 1、安裝環(huán)境 ?2、配置jdk環(huán)境變量 3、java版本的問(wèn)題 4、添加數(shù)據(jù)庫(kù) 三、前端部署 ?1、vue 2、創(chuàng)建站點(diǎn) ?編輯 四、后端部署 1、application.yml 2、idea打包 3、運(yùn)行jar包 4、開(kāi)放端口 五、可能遇到的問(wèn)題 1、4

    2024年04月27日
    瀏覽(30)
  • 前端vue和node后端項(xiàng)目部署到云服務(wù)器(詳解)

    前端vue和node后端項(xiàng)目部署到云服務(wù)器(詳解)

    前言:我是一名大三在校生,選修的專(zhuān)業(yè)是軟件工程,然后主要學(xué)前端方向,作為一個(gè)前端程員,自己也想有自己的網(wǎng)站,然后被大家瀏覽,我覺(jué)得這是對(duì)自己能力的肯定,也是自我提升的一種方法,所以我學(xué)習(xí)了nodejs,利用nodejs作為項(xiàng)目的后端,然后結(jié)合前端最流行的框架

    2024年02月03日
    瀏覽(22)
  • vitepress項(xiàng)目使用github的action自動(dòng)部署到github-pages中,理論上可以通用所有

    vitepress項(xiàng)目使用github的action自動(dòng)部署到github-pages中,理論上可以通用所有

    .githubworkflowsdeploy.yml 完整的代碼:使用的是 pnpm 進(jìn)行依賴(lài)安裝。 這段 YAML 文件定義了一個(gè) GitHub Actions 工作流,用于在推送到 docs 分支時(shí)構(gòu)建和部署 VitePress 項(xiàng)目。 on : 定義觸發(fā)工作流的事件,這里是在推送到 docs 分支時(shí)觸發(fā)。 jobs : 定義工作流中的任務(wù)。 build-and-deploy : 任務(wù)

    2024年01月17日
    瀏覽(32)
  • PHP項(xiàng)目部署到云服務(wù)器(CentOS+HTTP+PHP+MYSQL)

    PHP項(xiàng)目部署到云服務(wù)器(CentOS+HTTP+PHP+MYSQL)

    如何將寫(xiě)好的項(xiàng)目部署到云服務(wù)器,讓外界可以通過(guò)互聯(lián)網(wǎng)訪問(wèn)項(xiàng)目網(wǎng)站。以下使用的是騰訊云服務(wù)器操作,系統(tǒng)環(huán)境為CentOS7.9。 打開(kāi)騰訊云官網(wǎng),注冊(cè)好自己的平臺(tái)賬號(hào)。如果是新人的話去新人專(zhuān)區(qū)購(gòu)買(mǎi)服務(wù)器,性價(jià)比高。 這里可以選的服務(wù)器有輕量云服務(wù)器、云服務(wù)器

    2024年02月05日
    瀏覽(25)
  • 手動(dòng)將Java SpringBoot項(xiàng)目部署到云服務(wù)器上(使用docker)

    手動(dòng)將Java SpringBoot項(xiàng)目部署到云服務(wù)器上(使用docker)

    本文記錄一下我作為一個(gè)小白如何通過(guò)docker手動(dòng)將java springboot項(xiàng)目部署到云服務(wù)器上(以騰訊云的輕量應(yīng)用服務(wù)器為例)。 但是我個(gè)人還是推薦安裝一個(gè)寶塔面板部署 ,真的全程自動(dòng)化,非常方便,網(wǎng)上有很多相關(guān)的教程可以搜搜看。所以我寫(xiě)這個(gè)教程其實(shí)只想記錄一下我

    2024年04月25日
    瀏覽(22)
  • 部署 ssm 項(xiàng)目到云服務(wù)器上(購(gòu)買(mǎi)云服務(wù)器 + 操作遠(yuǎn)程云服務(wù)器 + 服務(wù)器中的環(huán)境搭建 + 部署項(xiàng)目到服務(wù)器)

    部署 ssm 項(xiàng)目到云服務(wù)器上(購(gòu)買(mǎi)云服務(wù)器 + 操作遠(yuǎn)程云服務(wù)器 + 服務(wù)器中的環(huán)境搭建 + 部署項(xiàng)目到服務(wù)器)

    推薦的做法:買(mǎi)一個(gè)云服務(wù)器。(主要是要有一個(gè)外網(wǎng) IP) 好處:① 方便 (如果自己搭建,就比較麻煩)、② 便宜 (如果只是為了學(xué)習(xí)使用,最低配置的服務(wù)器完全夠用,不到 50 元就能買(mǎi)一年使用權(quán))、③ 有外網(wǎng) IP ,可以部署項(xiàng)目(有了外網(wǎng) IP,我們部署的項(xiàng)目,別人

    2024年02月11日
    瀏覽(36)
  • idea集成Docker + Docker部署SpringBoot項(xiàng)目到云服務(wù)器 保姆級(jí)教程

    idea集成Docker + Docker部署SpringBoot項(xiàng)目到云服務(wù)器 保姆級(jí)教程

    本人使用資源: 云服務(wù)器主機(jī):騰訊云寶塔linux 操作系統(tǒng):OpenCloudOS 8.6 本文分別講解了: 1、idea如何集成并使用docker 2、springboot項(xiàng)目如何引入Docker管理 3、如何將一個(gè)springboot項(xiàng)目使用Docker打包為一個(gè)鏡像 不僅講解了方法,還列出了在整個(gè)過(guò)程中會(huì)遇到的一些問(wèn)題和注意事項(xiàng)

    2024年02月06日
    瀏覽(27)
  • 用Nginx將前端Vue項(xiàng)目部署到云服務(wù)器(含代理實(shí)現(xiàn)請(qǐng)求跨域)

    用Nginx將前端Vue項(xiàng)目部署到云服務(wù)器(含代理實(shí)現(xiàn)請(qǐng)求跨域)

    記錄使用Nginx將 純前端 的Vue3項(xiàng)目部署到阿里云服務(wù)器(Ubuntu 22.04)上,包含通過(guò)Nginx代理實(shí)現(xiàn) 跨域請(qǐng)求 、以及個(gè)人踩坑記錄~ 執(zhí)行下列命令安裝: 安裝完成后查看nignx版本,顯示版本信息則說(shuō)明安裝成果 啟動(dòng)nginx,如正確啟動(dòng),則不會(huì)出現(xiàn)任何提示信息。 nginx啟動(dòng)成功后打

    2024年04月12日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包