使用 GitLab CI/CD 等 GitHub 操作
Posted
技术标签:
【中文标题】使用 GitLab CI/CD 等 GitHub 操作【英文标题】:Using GitHub actions like GitLab CI/CD 【发布时间】:2020-09-09 15:41:34 【问题描述】:我刚刚开始将我所有的 GitLab 存储库迁移到 GitHub。我有一段时间没有使用 GitHub,所以我偶然发现了 - 至少对我来说是新功能 - GitHub Actions。
由于我刚开始一个新项目,我想使用 GitHub Actions 来构建和部署我的新应用程序。我真的不知道我做错了什么,我将在下面附上我的工作流程文件。
我想要实现的是,每次我推送到一个不是我的 master 并且没有前缀“release/”的分支时,我都想为我的开发系统执行这个构建和部署。稍后我还将设置相同的脚本,但仅适用于暂存(预生产)系统,前提是我推入前缀为“release/”的分支,并且确实是第三次仅用于主分支的生产。
我想知道的是,这些操作 - 至少就我的理解而言 - 是零星执行的。我想要像在 GitLab 中那样的行为:每次我从本地工作机器推送功能分支或任何东西时,都应该执行开发管道。然后我将创建一个拉取请求。只有当管道成功时,我才希望能够合并。合并到一个分支后(例如 feature/... 到develop),我想自动执行管道进行开发。
我什至不确定这是否可能。也许我也没有正确理解动作的概念。
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】:原来我只是在一些服务中断期间开始尝试新技术。 GitHub 在其基础架构中遇到了一些问题。它现在按预期工作。
【讨论】:
以上是关于使用 GitLab CI/CD 等 GitHub 操作的主要内容,如果未能解决你的问题,请参考以下文章