0


【日常记录】自动化部署与持续交付:GitHub Actions CICD

文章目录

1.背景

当我们做项目的时候,如果做完了,要发布,就需要打包,扔到服务器上,如果改了一点东西,还得打包,扔到服务器上,重复的执行

打包=> 扔到服务器上

详细记录如何使用github actions自动化部署项目
自动化部署与持续交付:GitHub Actions CICD

自动化部署一般以下方式

  • Jenkins
  • gitlab
  • GitHub actions

2.具体流程

2.1 在自己的项目

保证自己的项目已经推送到了 GitHub上

git init
git add .
git commit -m "xxx"

2.2 设置GitHub token

  1. 进入GitHub官网,点击 右上角头像,点击 settings
  2. 在左侧导航中,点击 developer setting
  3. 点击 Tokens (classic) 然后,点击 Generate new token 继续点击 generate new token (classic)
  4. 进入新的界面,可以写个备注,设置过期时间,选中 repo的所有东西和 workflow 具体看下面的图在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述

2.3 配置 workflows

在项目中新建

.github文件夹,然后创建workflows文件夹

,当我们提交到

github

后,他就去识别 workflows 文件夹下的

yml

格式文件,并且去执行他们

  • 举个例子,创建一个 ci.yml 文件 ,里面写入以下代码
name: CI
on:# 代码push的时候触发push:# master 分支的时候触发branches: master
jobs:# 定义一个job,名字为CICI:# 使用github提供给我们的机器去跑runs-on: ubuntu-latest
    # 步骤steps:# 步骤名为test-name: test
        # 打印哈哈run: echo 嘿嘿嘿

然后当我们推送到 master 的时候他就会执行一些任务

在这里插入图片描述
还可以点进去,查看详情
在这里插入图片描述

目的肯定是:

把打包后的文件推送到服务器上

,那么就可以按照下面这样配置

name: CICD
on:# 代码push的时候触发push:# main 分支的时候触发branches:- main
jobs:# 定义一个job,名字为CICI:# 使用github提供给我们的机器去跑runs-on: ubuntu-latest
    # 步骤steps:# 拉取最新的代码-name: Checkout repository
        uses: actions/checkout@v2
        with:# 克隆的分支ref: main
      # 安装node环境-name: Use Node.js
        uses: actions/setup-node@v3
        with:node-version:"18.x"# 安装依赖-name: Installing Dependencies
        run: npm install --legacy-peer-deps
      # 打包-name: Build
        run: npm run build
      # 产物上传服务器-name: Upload to Deploy Server
        uses: easingthemes/[email protected]
        env:# 免密登录的秘钥SSH_PRIVATE_KEY: ${{ secrets.FWQ_PASS }}# 服务器登录用户名REMOTE_USER: ${{ secrets.FWQ_USER }}# 服务器的公网IPREMOTE_HOST: ${{ secrets.FWQ_IP }}# 你打包后产物的文件夹SOURCE:"dist/"# 先清空目标目录ARGS:"-avzr --delete"# 上传到服务器目标目录TARGET:"/project_ddg/vitetestcicd"

2.4 配置服务器SSH

  1. 进入服务器,进入 ~/.ssh 文件夹下, 就是 /root/.ssh
  2. 生成密钥 3.拷贝 私钥 就是不带 pub 的那个文件,放到 2.5 步 创建 secrets 哪里即可

生成密钥操作步骤

# 如果你服务器已经有了 密钥 ,建议 指定一下 密钥名字
ssh-keygen -t rsa -C"[email protected]"# 指定密钥名字,githubActionCICD 替换为你自己起的名字
ssh-keygen -t rsa -f githubActionCICD -C"[email protected]"

这样服务器就会生成两个文件
在这里插入图片描述


2.5 配置 repository secret

secrets 的东西需要在这里配置一下,名字可以自定义,

  • 1:FWQ_PASS:一般是 SSH登录,那么 这个地方,就得填写 服务器的私钥 就是2.4 步 生成的东西
  • 2:FWQ_USER:一般是 root
  • 3:FWQ_IP:就是服务器公网IP地址在这里插入图片描述

2.6 服务器安装宝塔

可以通过在线安装进行安装

在线安装地址

在这里插入图片描述

2.7 搭建网站

在这里插入图片描述

备注

不知道怎么处理的一个错误

虽然有这个错误,但是 去打开这个站点,看到的界面,确实是最新的,就是莫名其妙的会报这个错误, 求大佬解答~

在这里插入图片描述

标签: 自动化 github 运维

本文转载自: https://blog.csdn.net/qq_45634593/article/details/135376877
版权归原作者 嘤嘤怪呆呆狗 所有, 如有侵权,请联系我们删除。

“【日常记录】自动化部署与持续交付:GitHub Actions CICD”的评论:

还没有评论