Такой ароматный! Развертывание в один клик на GitHub Action

GitHub
Такой ароматный! Развертывание в один клик на GitHub Action

Ссылка на оригинальный текст этой статьи

недавний**В связи с увеличением собственных личных заявок, мне нужно каждый раз вручную публиковать его на сервере, что очень хлопотно, поэтому я хочу контролировать автоматическую публикацию через код, поэтому я напрямую выбираюДействие на GitHub**.

GitHub ActionУслуги непрерывной интеграции, в настоящее время бесплатен и открыт для использования.Поскольку личные проекты большинства людей находятся на github, очень удобно использовать его для публикации, тестирования и развертывания.

Личное приложение:сайт личного блога,Выполняется оптимизация производительности Google, добро пожаловать на общение 👏👏

#Конфигурация действий Github

Следующий контент по умолчанию вы создали Github Action, официальный предоставляет множество шаблонов конфигурации Github Action, вы можете выбрать в соответствии с вашими потребностями, если вы мало знаете, вы можете сначала обратиться к нему **Ruan Yifeng GitHub Actions Руководство по началу работы**, проверьте Github Action.

Давайте взглянем на основной состав файла конфигурации Github Action.Формат файла конфигурации:.yml, пример следующий:

# main.yml
# 一个 workflow,名字为Github Action Example
name: Github Action Example

# 触发 workflow 的事件
on:
  push:
    # 分支随意
    branches:
      - master

# 一个workflow由执行的一项或多项job
jobs:
    # 一个job任务,任务名为build
    build:
        # runs-on 指定job任务运行所需要的虚拟机环境(必填字段)
        runs-on: ubuntu-latest
        # steps是每个Job的运行步骤,可以包含一个或多个步骤
        steps:
            # action命令,切换分支获取源码
            - name: Checkout
                # 使用action库  actions/checkout获取源码
                uses: actions/checkout@master
            # action命令,安装Node10
            - name: use Node.js 10
                # 使用action库  actions/setup-node安装node
                uses: actions/setup-node@v1
                with:
                    node-version: 10
            # action命令,install && test
            - name: npm install and test
                # 运行的命令或者 action
                run: |
                    npm install
                    npm run test
                # 环境变量
                env:
                    CI: true
  • Actionявляется самым маленьким портативным строительным блоком в рабочем процессе. Вы можете создать свое собственное действие, используяБиблиотека действий, совместно используемая сообществом GitHubи настраиваемая общедоступная библиотека действий.

  • Stepпредставляет собой набор задач, выполняемых заданием. Каждый шаг в задании выполняется в одном и том же исполнителе, что позволяет операциям в этом задании обмениваться информацией с использованием файловой системы, а шагу — выполнять команды или действия.

  • JobСостоит из шаг. Вы можете определить правила зависимости для того, как задания выполняются в файлах рабочего процесса. Задания могут выполняться параллельно одновременно или последовательно в зависимости от состояния предыдущих заданий.

  • WorkflowСостоит из одного или нескольких заданий, доступ к которым можно получить с помощьюмероприятиеЗапланируйте или активируйте. Вы можете настроить настраиваемый процесс автоматизации в своем репозитории для сборки, тестирования, упаковки, публикации или развертывания любого проекта на GitHub.

Github: библиотека запросов плагина Github Action., вы можете запросить нужную вам библиотеку действий, они являются общими, и вы можете определить свою собственную, если не можете удовлетворить свои потребности.

#Github Action выпускает Alibaba Cloud ECS

Ниже приведен файл конфигурации Github Action, который я опубликовал в Alibaba Cloud ECS.

Моя конфигурация службы Github Action

# main.yml
name: deploy to aliyun
on:
  push:
    branches:
      - master
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      # 切换分支
      - name: Checkout
        uses: actions/checkout@master
      # 下载 git submodule
      - uses: srt32/git-actions@v0.0.3
        with:
          args: git submodule update --init --recursive
      # 使用 node:10
      - name: use Node.js 10
        uses: actions/setup-node@v1
        with:
          node-version: 10
      # npm install
      - name: npm install and build
        run: |
          npm install
          npm run build
        env:
          CI: true
      # Deploy
      - name: Deploy
        uses: easingthemes/ssh-deploy@v2.0.7
        env:
          SSH_PRIVATE_KEY: ${{ secrets.ACCESS_TOKEN }}
          ARGS: "-avz --delete"
          SOURCE: "[Current File Dir]"
          REMOTE_HOST: "[Domain]"
          REMOTE_USER: "[UserName]"
          TARGET: "[Server Dir]"

Выше приведен мой файл конфигурации, пожалуйста, выберите плагин действия разумно в соответствии с вашими потребностями. Я хочу опубликовать веб-сайт блога в облачной службе Alibaba, поэтому приведенная выше конфигурация принята, а выбор подключаемого модуля действия в финальном действии «Развертывание» также основан на требованиях.Github: библиотека плагинов действийвыбран в.

(Дополнительные примечания⚠️: Если вы хотите опубликовать на облачном сервере Alibaba, а также использовать указанный выше файл действия конфигурации, помните:ACCESS_TOKEN является частью закрытого ключа пары ключей ssh ​​сервера;Раздел открытого ключа сервера должен быть добавлен в файл author_keys на сервере, принимающем развертывание.. При нормальных обстоятельствах,ACCESS_TOKEN — это содержимое файла id_rsa в каталоге ~/.ssh сервера.. присмотрись повнимательнее

[

github.com/marketplac...

](GitHub.com/рынок…

#Более

Публикация веб-сайта Hexo на страницах GitHub с помощью GitHub Actions

GitHub Actions публикует блог в Alibaba Cloud OSS

GitHub Actions автоматически создает образы и отправляет их в службу образов облачных контейнеров Alibaba.

#Ссылаться на

Core concepts for GitHub Actions

Ифэн Руан: Начало работы с действиями GitHub

Смотрите больше сообщений в блоге:

Персональные самородки Больше ссылок на статьи Перейти;

Публикация в блоге GitHub больше ссылок на статьи прыгает;