我刚开始将我所有的 GitLab 存储库迁移到 GitHub。我有一段时间没有使用 GitHub,所以我偶然发现了 - 至少对我来说是新功能 - GitHub Actions。
由于我刚刚开始了一个新项目,我想使用 GitHub Actions 来构建和部署我的新应用程序。我真的不知道我做错了什么,我将在下面附上我的工作流程文件。
我想要实现的是,每次我推送到一个不是我的 master 并且没有前缀“release/”的分支时,我想为我的开发系统执行这个构建和部署。稍后,我还将设置相同的脚本,但仅适用于暂存(预生产)系统,前提是我推入前缀为“release/”的分支,并且确实第三次仅用于主分支的生产。
我想知道的是,这些动作 - 至少在我的理解中 - 是零星执行的。我想要像在 GitLab 中那样的行为:每次我从本地工作机器推送功能分支或任何东西时,都应该执行开发管道。然后我将创建一个拉取请求。只有当管道成功时,我才希望能够合并。合并到分支后(例如 feature/... 到开发),我想自动执行开发管道。
我什至不确定这是否可能。也许我也没有正确理解动作的概念。
name: Publish Development
on:
push:
branches:
- '**'
- '!master'
- '!release/**'
pull_request:
branches:
- '**'
- '!master'
- '!release/**'
jobs:
build-and-deploy:
name: Build and Deploy
runs-on: ubuntu-latest
steps:
- name: check out repository
uses: actions/checkout@v2
with:
token: ${{ secrets.PRIVATE_ACCESS_TOKEN}}
- name: install dependencies
run: npm install
- name: install dependencies
run: npm --prefix ./functions install ./functions
- name: deploy to firebase
uses: w9jds/firebase-action@master
with:
args: deploy
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
PROJECT_ID: ${{ secrets.FIREBASE_PROJECT_ID }}
谢谢!
编辑:原来我只是在一些服务中断期间开始尝试新技术。GitHub 在其基础架构中遇到了一些问题。它现在按预期工作。