当前位置:   article > 正文

CICD最简实践————github actions_github actions ssh

github actions ssh

你写了一个博客网站,在没有配置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 "your_email@example.com",这样会生成id_rsa和id_rsa.pub
4.执行命令cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys。将公钥设置成authorized_keys的内容
5.最后将私钥id_rsa的内容设置到secrets中
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

其他secrets

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

三. 配置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/ssh-deploy@v2.0.7
        # 注入环境变量供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"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

Done

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/633355
推荐阅读
相关标签
  

闽ICP备14008679号