Ссылка на оригинальный текст этой статьи
недавний**В связи с увеличением собственных личных заявок, мне нужно каждый раз вручную публиковать его на сервере, что очень хлопотно, поэтому я хочу контролировать автоматическую публикацию через код, поэтому я напрямую выбираюДействие на 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.
# 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 сервера.. присмотрись повнимательнее
[
#Более
Публикация веб-сайта Hexo на страницах GitHub с помощью GitHub Actions
GitHub Actions публикует блог в Alibaba Cloud OSS
#Ссылаться на
Core concepts for GitHub Actions
Ифэн Руан: Начало работы с действиями GitHub
Смотрите больше сообщений в блоге: