CICD最简实践————github actions

你写了一个博客网站,在没有配置CICD的时候。需要改动一些内容,你需要做下面几件事

  1. npm run build等待编译
  1. 打开ftp客户端,连接服务器
  2. 找到打包文件目录,传输文件

配置了CICD,你只需要做一件事情

  1. 提交代码

工作中常用的CICD工具有Gitlab CI,Travis CI等,场景也会更复杂。这里使用github actions,不需要跑ci的服务器。用最简单的配置。实现github中提交代码,自动编译,自动部署到自己的服务器

一. 找到你要配置的github项目,创建工作流。

这时会在根目录生成一个ci配置文件.github/workflows/blank.yml

二.配置项目的secrets,供actions配置文件使用

SSH_PRIVATE_KEY
1.登录到服务器
2.cd ~/.ssh,如果有id_rsa和id_rsa.pub 文件。代表以前配置过,跳过第三步
3.执行命令ssh-keygen -t rsa -C "[email protected]",这样会生成id_rsa和id_rsa.pub
4.执行命令cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys。将公钥设置成authorized_keys的内容
5.最后将私钥id_rsa的内容设置到secrets中

其他secrets

REMOTE_HOST	服务器ip地址 199.199.222.22
REMOTE_USER	用户名 root
TARGET 服务器打包文件位置,如nginx的 /home/master-ui/dist

三. 配置CI文件
actions配置文件:.github/workflows/blank.yml

部署是使用ssh-deploy

参考峰哥GitHub Actions 入门教程

name: CI demo
on: 
  push:
    branches:    
          - master
jobs:
  build:
    name: build 
    runs-on: ubuntu-latest
    steps:
      # 切换到master分支
      - name: checkout
        uses: actions/checkout@master
      # 使用 node:10
      - name: use Node.js 10
        uses: actions/setup-node@v1
        with:
          node-version: 10
      - name: npm install
        run: |
          npm install
      # 构建
      - name: npm build
        run: |
          npm run build
      # 部署
      - name: deploy
        uses: easingthemes/[email protected]
        # 注入环境变量供ssh-deploy使用
        env:
          # secrets中配置的私钥,用于免密连接服务器
          SSH_PRIVATE_KEY: ${
   
   { secrets.SSH_PRIVATE_KEY }}
          # 服务器地址
          REMOTE_HOST: ${
   
   { secrets.REMOTE_HOST }}
          # 用户名
          REMOTE_USER: ${
   
   { secrets.REMOTE_USER }}
          # 部署路径
          TARGET: ${
   
   { secrets.TARGET }}
          # 打包文件来源
          SOURCE: "dist/"
          # 删除服务器上TARGET目录里所有文件
          ARGS: "-avz --delete"

Done

猜你喜欢

转载自blog.csdn.net/weixin_42565137/article/details/109097946