为了证明这一点,让我们检查一个易受攻击的 GitHub Action:name: my actionon: pull_request_targetjobs: pr-check: name: Check PR runs-on: ubuntu-latest steps: - name: Setup Action uses: actions/checkout@v3 with: ref: ${{github.event.pull_request.head.ref}} repos...
如果使用uses指定 Action ,格式为所有者/仓库名@提交或标签,例如actions/checkout@v3就是官方提供的用于检出仓库的 Action。这里也可以自定义 Action 把一组脚本封装起来,以实现一定的功能。自定义的 Action 既可以由一些命令组成,也可以由 Dockerfile 和相应的脚本文件组成。如果是后者,在运行任务之前会先执行镜像构建。
编写workflow我们会用到如下action action/checkout@v3。用于拉取git仓库 ad-m/github-push-action@master。用于推送git仓库 flytam/github-issue-to-hexo@v1.0.3。用于将github issue生成hexo文件,也就是上文我们开发的action theme-keep/hexo-deploy-github-pages-action@master。用于部署hexo到gh-pages 在blog仓库...
concurrency:group:${{github.workflow}}-${{github.ref}}# 步骤 steps:# 官方action,将代码拉取到虚拟机-name:Checkout uses:actions/checkout@v3 # 建一个名为setup-node的步骤(安装指定版本的Node.js)-name:setup-node # 使用setup-node@v3这个action uses:actions/setup-node@v3 # 指定某个action 可能...
作业中的steps使用 GitHub Actionsactions/checkout@v3操作将代码从存储库导入到 VM,使用actions/setup-node@v3操作设置正确版本的 Node.js。 我们指定要用${{ matrix.node-version }}属性测试 Node.js 的三个版本。 此属性引用我们之前定义的矩阵。cache属性指定用于在默认目录中缓存的包管理器。
on: ubuntu-latest#步骤合集steps:#新建一个名为checkout_actions的步骤-name: checkout_actions#使用checkout@v2这个action获取源码uses: actions/checkout@v2#使用建一个名为setup-node的步骤- name: setup-node#使用setup-node@v1这个actionuses: actions/setup-node@v1#指定某个action 可能需要输入的参数with...
ubuntu-latest steps: # 拉取仓库文件 - name: 拉取master分支代码 uses: actions/checkout@v3 with: # 默认当前分支 ref: 'master' # action命令,安装Dotnet7 - name: 安装Dotnet7 uses: actions/setup-dotnet@v3 with: dotnet-version: 7.0.400 # 执行打包命令 - run: dotnet --version && dotnet publ...
name:build_deploy_akson:push:paths:-"azure-vote/**"jobs:build:runs-on:ubuntu-lateststeps:- name:Checkoutsourcecodeuses:actions/checkout@v3- name:ACRbuildid:build-push-acruses:azure/acr-build@v1with:service_principal:${{secrets.service_principal}}service_principal_password:${{secrets....
Checkout V4 This action checks-out your repository under$GITHUB_WORKSPACE, so your workflow can access it. Only a single commit is fetched by default, for the ref/SHA that triggered the workflow. Setfetch-depth: 0to fetch all history for all branches and tags. Referhereto learn which commit...
同时警告的还有图中 set-output 这个命令,但是我在 yml 文件里却并没有找到相关内容。那猜想大概就是用到的几个 action 内置操作了吧。 于是把 checkout 、 cache 、 upload-artifact 都从 @v2 改为了 @v3。