Explore CI nuevamente, Github se burla de las notas de acción: compila y publica automáticamente en otro almacén

Prólogo

Continúe explorando el elemento de configuración anterior, Github se burla de las notas de acción: crea y publica automáticamente

Después de aprender las operaciones básicas de acción.

Luego exploraremos otras posibles funciones de acción

Es bien sabido que solo aquellos que aprendan usando la tecnología serán los más rápidos

Yo tambien

Después de la terminación de las diferentes ramas de la corriente de apertura de Warehouse Builder, tengo una nueva demanda contabiliza automáticamente en diferentes almacenes después de la construcción

Texto

Creamos directamente un nuevo archivo de lanzamiento yml

Podemos ver la introducción de la gramática básica en el archivo generado por el sistema para nosotros

Aquí lo marco con mi propio entendimiento

Antes de leer, comprendamos los conceptos básicos

Terminología básica

  • flujo de trabajo
  • trabajo (tarea) Un flujo de trabajo puede estar compuesto por múltiples trabajos diferentes
  • paso (paso) Cada trabajo puede estar compuesto de múltiples pasos
  • acción (acción) Cada paso puede estar compuesto de múltiples acciones

Mercado de acción

Debido a la integración continua, la mayoría de las necesidades de todos pueden ser la misma operación

Entonces Github estableció un mercado de acción

Hacer que los scripts de acción de todos puedan ser referenciados por otros

Esto hace innecesario escribir scripts complicados cuando quiero usar estas funciones

Y todo este proceso de integración continua se ha convertido en el producto de una combinación de diferentes acciones.

El método de uso también es muy simple, solo use usespalabras clave para hacer referencia directa a las bibliotecas de otros.

uses userName/repoName

Combinar plantilla

Luego combinaremos la plantilla básica generada por el sistema para la interpretación básica

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

name: CI  # 构建流程的名称


on: #触发该流程的方式
  push:
    branches: [ master ]  #触犯该流程的分支
  pull_request:
    branches: [ master ]

jobs:
  # 该任务当前仅包含了一个任务  名称是build
  build:    
    runs-on: ubuntu-latest #任务锁运行的工作环境

    # 该任务所包含的步骤
    steps:
    # 步骤所依赖的操作库 这里引用了官方发布的git操作库 目的是拉取当前库的代码
    - uses: actions/checkout@v2

    # 这里是一个单行命令的模板
    - name: Run a one-line script
      run: echo Hello, world!

    # 这里是一个多行命令的模板
    - name: Run a multi-line script
      run: |
        echo Add other actions to build,
        echo test, and deploy your project.

Utilice las bibliotecas existentes para una integración continua (la compilación de la biblioteca actual se publica en otra biblioteca)

Aquí podemos comenzar a armar nuestra propia Acción

En primer lugar, primero encontramos una acción que tiene la función de publicar en otras bibliotecas de Git

Podemos buscar la acción que necesitamos en el mercado github

MFcPRLTway742pE

Aquí usos0/git-publish-subdir-action@master

Haga clic en la página de inicio de esta biblioteca, podemos ver las instrucciones de la biblioteca a continuación

No entraré en detalles aquí

name: AutoBuild

on:
  push:
    branches: [ OneKeyVip-master ]
  pull_request:
    branches: [ OneKeyVip-master ]
jobs:
  
  build:
    name: build
    runs-on: ubuntu-latest    
    steps:    
    - uses: actions/checkout@v2    
    - name: npm install
      run: |
        npm install
        npm ci
    - name: npm build
      run: |
       npm run build
       cp README.MD ./publish/README.MD
       cp CHANGELOG ./publish/CHANGELOG

    - name: publish
      uses: s0/git-publish-subdir-action@master
      env:
        REPO: 目标库
        BRANCH: 目标分支
        FOLDER: 要发布的内容所在的文件夹        
        SSH_PRIVATE_KEY: ${{ secrets.publish }}

Conclusión

Hasta ahora hemos terminado de escribir el script para la integración continua de la biblioteca actual a otras bibliotecas.

Por lo demás, ya no podemos preocuparnos por la generación y lanzamiento de código

El código puede ser feliz

GvEprR2w75OY4sX

Supongo que te gusta

Origin www.cnblogs.com/ixysy/p/12720134.html
Recomendado
Clasificación