使用GitLab CI / CD等GitHub操作

时间:2020-05-22 17:59:51

标签: github github-actions building-github-actions

我刚刚开始将所有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。现在可以正常工作了。

1 个答案:

答案 0 :(得分:0)

事实证明,我只是在某些服务中断期间才开始尝试新技术。 GitHub在其基础架构中遇到了一些问题。现在可以正常工作了。