首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VuePress + GitHub Actions 自动部署

GitHub Actions 允许开发人员编写构建、测试、发布等多种功能脚本,在特定条件下( push 变更到指定分支时),执行事先写好脚本,自动完成构建发布等操作。...Workflow 由仓库 YAML 文件定义,由仓库事件触发工作流运行,也可以手动触发工作流,或者按照已定义时间表触发工作流。...Events(事件) 事件是存储库触发 Workflow 运行特定活动。当有人创建 pull request,opens issue 或 push commit。...# 指向一个 branch Workflow 文件 GitHub Actions 配置文件叫做 workflow 文件,存放在代码仓库.github/workflows目录。...GitHub 只要发现.github/workflows目录里面有.yml文件,就会自动运行该文件。 workflow 文件配置字段非常多,详见官方文档。 下面是一些基本字段。

28310

【前端部署十四篇】结合 CI 与 docker 自动部署 Preview 功能分支环境

我们可以写一段脚本将文件环境变量进行替换,但完全没有这个必要,「因为有一个内置于操作系统命令 envsubst 专职于文件内容环境变量替换」。...基于 CICD 多分支部署 在 CICD 可根据环境变量获取当前分支名,详情可参考上一篇文章: CI 环境变量。...在 Gitlab CI 可以通过环境变量 CI_COMMIT_REF_SLUG 获取,该环境变量还会做相应分支名替换, feature/A 到 feature-a 转化。...在 Github Actions 可以通过环境变量 GITHUB_REF_NAME/GITHUB_HEAD_REF 获取。...: # 获取 CICD 变量: Context # https://docs.github.com/en/actions/learn-github-actions/expressions

82010
您找到你想要的搜索结果了吗?
是的
没有找到

如何利用github action实现自动构建、打包部署

这是我参与「掘金日新计划 · 10 月更挑战」第1天,点击查看活动详情 GitHub Action简介 GitHub Actions使你可以直接在你GitHub创建自定义工作流,工作流指就是自动化流程...配置 workflow workflow必须存储在你github项目库路径下 .github/workflows 目录,每一个 workflow对应一个具体.yml 文件。...GitHub 会检索.github/workflows目录里面的.yml文件,并按照设定规则定时或监听触发条件运行。...如果省略该字段,默认为当前 workflow 文件名。 name: My GitHub Actions on on字段指定触发 workflow 条件,通常是某些事件。...环境变量名是重复,会优先使用最近变量 一个实验例子 name: My GitHub Actions on: watch: types: [started] env: TEST_ENV

31210

前端项目部署与运维:CICD流程与常见问题处理

我们通常使用Git这样版本控制系统,遵循Gitflow或GitHub Flow分支策略,确保代码变更有序提交与合并。 2....持续集成 代码提交触发构建:每当开发者向主分支或特定功能分支推送代码时,通过配置GitHub Actions、GitLab CI/CD或Jenkins等CI工具,自动触发构建流程。...yaml # GitHub Actions workflow example name: Frontend CI on: push: branches: - main...持续部署 部署至预发环境:通过CI工具,将构建产物(通常是dist目录)自动上传至预发服务器或云存储服务(AWS S3)。更新预发环境配置文件,指向新构建版本。...部署差异 预发与生产环境可能存在配置差异导致问题。确保环境变量、API接口、第三方服务等配置一致性,或者使用环境变量管理工具(dotenv、figaro)妥善处理不同环境配置。 3.

27010

Docker创始人新产品Dagger好用吗?

首先获取示例应用代码: ☸ ➜ git clone https://github.com/dagger/dagger ☸ ➜ cd dagger ☸ ➜ git checkout v0.2.4 进入示例应用代码根目录执行...由于这是一个静态应用程序,我们可以在浏览器打开最终生成文件,这里我们是定义最后将构建结果复制到主机上 _build 目录。...dagger 流水线是以一个 #Plan 开始,在 #Plan ,我们可以: 与 client 客户端文件系统进行交互 读取文件,通常使用 ....表示当前目录 写入文件,通常构建输出为 _build 目录 读取环境变量,比如上面定义 NETLIFY_TOKEN 声明一些动作,比如 test、build、deploy 等等,动作名称可以随意命名...将 CUE 值转换为 YAML 格式字符串 contents: yaml.Marshal(actions.pull.output.config) }

94520

现代 CI 系统太复杂,方向跑偏了

以下是 GitHub Actions 工作流 YAML 一些特性: 一个嵌入式模板系统,可以将源 YAML 扩展为最终可用 YAML 文档,包括一种自定义迷你表达式语言。...GitHub Actions 有一个 API,可以用来与服务发生交互,但有一个关键特性无法实现,就是用它来定义特定工作单元:远程执行服务。...定义特定工作单元唯一方法是将工作流 YAML 文件提交到代码库。 GitLab Pipelines 要好一些。...像 GitHub Actions 和 GitLab Pipelines 这样 CI 产品与其说是平台,不如说是产品,因为它们都是基于一个通用远程执行服务,将一个自成体系配置机制(YAML 文件)和...如果你使用过 GitHub Actions、GitLab Pipelines,你就会看到很多你熟悉基本元素:要执行命令列表、要在 Docker 映像执行命令、构成工件文件路径、重试设置,等等。

89610

github actions 入门指南及实践

Actions Setup 此时生成了一个文件 .github/workflows/nodejs.yaml,修改内容如下 name: Git Action Test on: [push] jobs:...除了 secret,还有 github: workflow 信息, github.sha 可以获取当前 commit SHA,我们可以利用它为 sentry 或者 docker image 打入版本号...env: 环境变量 job: 当前执行 job 信息, job.status 表示当前 job 执行状态 matrix: 描述一些构建信息, node 以及 os 版本号 更多 context...信息可以参考官方文档 Contexts and expression syntax for GitHub Actions[4] 实践一:博客自动部署 我博客目前托管在阿里云 OSS 上,以下 action.yaml...Github API 获取自身 Github 动态,写入指定格式 Readme Github Actions 自动提交代码 优秀 Github 个人主页 Actions[7] 其中一个 waka-readme-stats

92920

5 分钟教你快速掌握 GitHub Actions 自动发布 Npm 包和网站

,来执行一段或多段指令,例如: npm install npm run build 我们集成 Github Action 做法,就是在我们仓库目录下,创建一个 .github 文件夹,里面放一个...*.yaml 文件, 这个 Yaml 文件就是我们配置 Github Action 所用文件。...GitHub 工作流是一组基于触发器或基于 cron 计划运行 job 作业。作业由组成自动化工作流程一个或多个步骤组成。我们通过创建 YAML 文件来创建 Workflow 配置。...获取 Npm Access Token 要想让 Github Action 能有权利发布指定 npm 包, 需要获取 npm 通行证....可以看到我们在 *.yml 定义 push 事件被触发,执行了 jobs 所有步骤,打包并将打包后到 build 文件内容推送到了 github 仓库 pages 分支。

1.4K30

Hexo+GitHub搭建个人博客,实现云端编辑、一键发文

(public) hexo generate (生成静态文件) hexo deploy (Hexo 会将 public 目录文件目录推送至 _config.yml 中指定远端仓库和分支...Hexo 在部署你站点生成文件时并不会更新你站点目录。因此你应该手动提交并推送你写作分支。...yaml不会,可以去看一下这里,了解一下语法即可。...解决: 查看 yml 文件名字是否写错 github_token: ${{ secrets.GITHUB_TOKEN }} 在 仓库 Settings/Actions/general 下,修改 GITHUB_TOKEN...解决: 查看 pages.yml 引用变量名称是否跟 GitHub 仓库上设置一样 公私钥是否匹配,如果不匹配,则重新生成添加即可 如果还有其它问题也可以看一下这里,应该会有帮助

1K20

基于GitHubActions同步Docker镜像实践

开发者可以定义各种事件(代码提交、拉取请求、计划任务等)触发相应工作流,在工作流执行一系列操作和动作。这些操作包括编译、测试、打包、部署等各种软件开发相关任务。...工作流定义采用 YAML 格式,非常简洁易读。开发者只需要在代码仓库创建一个 .github/workflows 目录,并在其中添加 YAML 格式工作流定义文件即可。...这些文件描述了在特定事件发生时应该执行哪些操作步骤。 GitHub Actions 提供了大量现成动作(Actions),开发者可以直接拿来使用。...下面我们来详细介绍一下具体配置步骤: 在 GitHub 仓库创建一个新工作流文件: 在 .github/workflows 目录下创建一个新 YAML 文件,例如 docker-sync.yml...CI文件(.github/workflow/ci.yaml) # This is a basic workflow to help you get started with Actions #VERSION

8910

使用 PowerShell 一键更新 Hexo 文章 updated

引言 使用 CI ( 例如 GitHub Actions ) 自动部署 Hexo 会导致所有文章 更新于 时间统一变成 GitHub Actions 生成部署时间, 有3解决方法: 给每篇文章手动添加...updated 字段, 并每次更新文章, 手动更新 在 CI 步骤 利用 git log 通过 touch 方式 修改文件更新时间为 最后一次 commit 时间 ( 见 Hexo 笔记 )...本文 利用 powershell 一键更新 updated, 其实也是利用 git log 主要是考虑到 文件属性修改时间 不便查看,以及当换电脑时, 重新从 git 仓库 clone 下来文件...但每次手动维护更新时间比较麻烦,于是编写 powershell 脚本 来达到自动更新 updated.ps1 在 Hexo 根目录 保存并执行此脚本即可 $fileEncoding = "UTF8";...(换行符) | 经验摘录 PowerShell 运算符详解_weixin_33785972博客-CSDN博客 使用PowerShell读取文件数据_culuo4781博客-CSDN博客 powershell

87640

【前端部署十三篇】CI 环境变量

环境变量 在 Linux 系统,通过 env 可列出所有环境变量,我们可对环境变量进行修改与获取操作, export 设置环境变量,${} 操作符获取环境变量。...以下列举一条常用环境变量 Github Actions virables1 长按识别二维码查看原文 https://docs.github.com/en/actions/learn-github-actions...在 CI 设置环境变量Github Actions ,可通过 env 设置环境变量,并可通过 $GITHUB_ENV 在不同 Step 共享环境变量。...# 如何在 Github Actions 设置环境变量 # https://docs.github.com/en/actions/learn-github-actions/environment-variables...也可通过 Github/Gitlab 设置中进行注入环境变量 非敏感数据可放置在项目目录 .env 维护 Git/OS 相关通过 CI 注入环境变量 7.

1.8K10

你一定要了解 GitHub Action 特性:可重用工作流(Reusable Workflows)

在仓库创建一个名为 .github/workflows 目录(如果不存在的话)。 在该目录下创建一个 YAML 文件,用于定义你工作流程。...将工作流程提交到仓库: 将你创建工作流程 YAML 文件提交到仓库,并确保它位于 .github/workflows 目录。 在其他仓库中使用工作流程: 打开你希望使用该工作流程其他仓库。...在 .github/workflows 目录下创建一个 YAML 文件,指向你之前创建可重用工作流程 YAML 文件。...然后,在你其他仓库 .github/workflows 目录下你可以创建一个 workflow build.yml 指向该文件,例如: name: Build on: push: pull_request...安全性:谨慎处理包含敏感信息(凭据、密钥等)工作流程文件,确保它们不会意外地泄露。将敏感信息存储在 GitHub Secrets ,并在工作流程中使用 Secrets 来访问这些信息。

9910
领券