我刚刚开始将所有GitLab存储库迁移到GitHub。我有一段时间没有使用GitHub了,所以我偶然发现了-至少对于我的新功能-GitHub Actions。
由于我刚开始一个新项目,所以我想使用GitHub Actions来构建和部署我的新应用程序。我真的不知道我在做什么错,我将在下面附加我的工作流程文件。
我想要实现的是,每当我推送到不是我的主节点并且没有前缀“ release /”的分支时,我都想执行此构建并为我的开发系统进行部署。稍后,我还将设置相同的脚本,但仅对于暂存(预生产)系统,如果我将其推入带有前缀“ release /”且确实与主分支相同的第三生产时间的分支中,则仅适用于该脚本。
我想知道的是,这些动作是偶尔执行的,至少在我看来是这样。我想要一种像在GitLab中一样的行为:每当我推入功能分支或从本地工作机上执行任何操作时,开发管线都应执行。然后,我将创建一个拉取请求。只有在管道成功的情况下,我才希望能够合并。合并到一个分支中之后(例如,feature / ...进入development),我想自动执行开发管道。
我什至不确定这是否可行。也许我也没有正确理解动作的概念。
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 was experiencing some issues in their infrastructure。现在可以正常工作了。
答案 0 :(得分:0)
事实证明,我只是在某些服务中断期间才开始尝试新技术。 GitHub在其基础架构中遇到了一些问题。现在可以正常工作了。