热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

仅使用GitHubActions在特定分支上运行作业

如何解决《仅使用GitHubActions在特定分支上运行作业》经验,为你挑选了1个好方法。

我是GitHub Actions的新手,有2个工作-一个运行我的测试,另一个将我的项目部署到服务器上。

显然,我希望测试可以在每个分支上运行,但是部署应该仅在将某些内容推入主程序时进行。

我正在努力寻找一种在特定分支上运行作业的方法。我知道有可能只在特定分支上运行整个工作流程,但这意味着我将拥有一个“测试”工作流程和一个“部署”工作流程。

这听起来像是一个解决方案,但是它们将并行运行。在理想情况下,测试将首先运行,并且只有在测试成功的情况下,部署工作才能开始。使用2个单独的工作流时不是这种情况。

我将如何实现这一目标?是否可以在特定分支上运行作业



1> peterevans..:

在最近的更新中,您现在可以将if条件设置为job水平。请参阅此处的文档。https://help.github.com/cn/articles/workflow-syntax-for-github-actions#jobsjob_idif

我测试了此工作流程,该工作流程可test在每次推送时运行该作业,但仅deploy在master分支上运行。

name: my workflow
on: push
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Execute tests
        run: exit 0
  deploy:
    runs-on: ubuntu-latest
    needs: test
    if: github.ref == 'refs/heads/master'
    steps:
      - name: Deploy app
        run: exit 0

接下来是我的原始答案,如果您希望拥有单独的工作流程,还可以使用其他解决方案。

除以外的每个分支都将运行第一个工作流程master。在此工作流程中,您仅运行测试。

on:
  push:
    branches:
      - '*'
      - '!master'

第二个工作流只master运行一次,如果测试成功通过,则运行您的测试并部署。

on:
  push:
    branches:
      - master


推荐阅读
  • Ubuntu下本地仓库项目上传至github远程仓库
    纯属个人笔记,参考了多篇其他资料,仅供参考。该方法对Ubuntu14.04和16.04都适用。初次使用Git的设置如果初始化配置已经在之前弄过的可以直接跳过这一部分至push ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 解决dockermachine 初始化下载 book2docker 过慢的问题
    docker运行docker-machinecreate命令第一次启动会去github.com下载一个最新的boot2docker.iso镜像。国内下载会很慢,有时会卡死。如图:解 ... [详细]
  • ios原生骨架库,网络过渡动画封装
    最新版2.0.5,release版本目录关于TABAnimated实现原理优点演变过程效果图安装使用Cocoapods手动导入使用步骤扩展回调Tips属性相关强调最后关于TABAn ... [详细]
  • 六、PCA主成分分析(降维)github地址:https:github.comlawlite19MachineLearning_Python全部代码1、用处数据压缩(Data ... [详细]
  • (译)React hooks:它不是一种魔法,只是一个数组——运用图表揭秘提案划定规矩
    原文地点:https:medium.com@ryardley…译文:染陌(Github)译文地点:https:github.comanswershutoBlog转载请有名出处我是一 ... [详细]
  • 当在github上发现别人项目有BUG,或者想要完善其功能的时候,该如何把自己的修改提交到项目中呢?以logback为例步骤:1,fork一份logback代码到自己的仓库进入github要修改项目 ... [详细]
  • GitHubforwindows界面很好,用起来也很方便,一下子就喜欢上了,不过功能不够强大,很多情况下还是要用gitshell。GitHubforwindows怎么用就不提了,网上很多 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
author-avatar
倩女墨镜aaaaa_259
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有