如果触发 Push/pull_request 事件或触发计划事件时,我想运行工作流程...
这是我的错误(语法问题).github/workflows/docker.yml:
name: Docker
on: [push, pull_request]
schedule:
# min hours day(month) month day(week)
- cron: '0 0 */5 * *'
...
Run Code Online (Sandbox Code Playgroud)
不幸的是这个语法是错误的,错误如下:
Invalid workflow file
You have an error in your yaml syntax on line 3
Run Code Online (Sandbox Code Playgroud) 当我推送到 Github 时,我想使用 Github 操作通过 SFTP 将文件传输到远程服务器(此服务器的唯一选项)。
我正在使用此操作https://github.com/marketplace/actions/ftp-deploy
我在我的存储库中创建了一个文件,.github/workflows/main.yml并添加了:
on: push
name: Publish Website
jobs:
FTP-Deploy-Action:
name: FTP-Deploy-Action
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.1.0
with:
fetch-depth: 2
- name: FTP-Deploy-Action
uses: SamKirkland/FTP-Deploy-Action@3.1.1
with:
ftp-server: ${{ secrets.FTP_SERVER }}
ftp-username: ${{ secrets.FTP_USERNAME }}
ftp-password: ${{ secrets.FTP_PASSWORD }}
Run Code Online (Sandbox Code Playgroud)
我为此存储库创建了一个 Secret,其中包含以下内容:
FTP_SERVER: sftp.server.com, FTP_USERNAME: user, FTP_PASSWORD: password
Run Code Online (Sandbox Code Playgroud)
我可以看到 Github 中正在运行的操作,但FTP-Deploy-Action任务出错了。
##[错误]需要输入但未提供:ftp-server
这是秘密的,并且可以与 Filezilla 配合使用。
有人知道我是否设置错误吗?
我正在尝试使用 Azure 服务和 Github Actions 来部署静态 Web 应用程序。
问题是,我需要使用 NodeJS 运行脚本。我正在使用 ESM 模块,这些模块在 Node v14 中运行良好。问题是,在构建任务期间,Azure(或github)使用v12.8(我猜是LTS),其中不支持ESM模块。
name: Azure Static Web Apps CI/CD
on:
push:
branches:
- master
pull_request:
types: [opened, synchronize, reopened, closed]
branches:
- master
jobs:
build_and_deploy_job:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
name: Build and Deploy Job
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Build And Deploy
id: builddeploy
uses: Azure/static-web-apps-deploy@v0.0.1-preview
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_LEMON_GLACIER_0C510BD03 }}
repo_token: ${{ …Run Code Online (Sandbox Code Playgroud) 我已经在 GitHub Actions 上工作了一段时间了,我们已经制定了指定的工作流程。工作流程是用 yaml 编写的。
我试图if为github.ref和 yaml 的块设置一些条件,该块在运行时被跳过。这意味着 - 如果针对 X 分支提出拉取请求 - 该代码块应该运行。
像这样的东西:
- name: Branch name check - Running only for DEV branch..
if: ${{contains(github.ref, 'DEV*')}}
uses: mathrix-education/sonar-scanner@master
with:
version: 4.2.0.1873 # required
typescript: false
scan: true
Run Code Online (Sandbox Code Playgroud)
谁能帮我解决这个问题吗?
我正在尝试设置一个 Github 操作来测试使用 wxPython 的 python 应用程序,但我不知道如何设置,以免 wxPython 无法构建并出现 GTK3 错误:
这是操作文件:
on:
pull_request:
branches:
- development
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7
# pip install wheel
- name: Install Requirements
run: |
sudo apt-get update -q && sudo apt-get install
sudo apt-get install python-wxgtk3.0
python -m pip install --upgrade pip
pip install jsonschema
pip install pylint
pip install twisted
pip install wheel
pip install -U wxpython …Run Code Online (Sandbox Code Playgroud) 我们的团队创建了一个 React Web 应用程序,并希望使用 github Action 将项目推送到 Kubernetes。这是 Dockerfile:
### STAGE 1: Build ###
FROM node:14.5.0 as build
RUN mkdir -p /src/app
WORKDIR /src/app
# Install app dependencies
COPY package.json /src/app/
RUN npm install && \
npm install -g pushstate-server
# Bundle app source
COPY . /src/app
# Build and optimize react app
RUN npm run build:staging
### STAGE 2: Production Environment ###
FROM nginx:1.19.2
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build /src/app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Run Code Online (Sandbox Code Playgroud)
当我使用命令在本地运行 …
我开始学习 terraform/github 操作。作为 Github 操作的一部分,是否可以让 TF 读取 Github 机密?例如 ..
我的 main.tf 文件创建一个 AWS EC2 实例,并且需要使用配置程序安装 nginx。为此,我需要向provisoner提供我的私钥/公钥信息,以便它对EC2实例进行身份验证以安装应用程序。我创建了一个 github 秘密,其中包含我的私钥。
目前,工作流程一直失败,因为我无法让它读取包含私钥信息的 github 秘密。
我怎样才能做到这一点?
任何建议将非常受欢迎!谢谢
在我的项目中,其文件夹结构如下所示:
dev-internal-web
-.firebase
-.github
-e2e
-functions
-node_modules
-src
(misc files)
Run Code Online (Sandbox Code Playgroud)
我有一个函数文件夹,其中包含 firebase 函数。我希望通过我的操作脚本自动部署它,如下所示:
name: CI
on:
push:
branches:
- master
jobs:
hosting-deploy:
name: Deploy Hosting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@master
with:
node-version: '10.x'
- run: npm install
- run: npm run build
- uses: w9jds/firebase-action@master
with:
args: deploy --only hosting --project=tombstone-roleplay
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
functions-deploy:
name: Deploy Functions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: chrissank/deploy-firebase-functions@1.0.0
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
TARGET: default …Run Code Online (Sandbox Code Playgroud) npm firebase google-cloud-functions firebase-cli github-actions
我正在使用Octokit API来请求特定的工作流程运行。我可以在文档中看到,我可以通过提供工作流运行 ID 来请求特定的工作流运行。不过,我希望始终请求运行最新的工作流程。如果我不知道 ID 是什么,我该如何实现这一目标?
例如,这里的值workflow-run-latest总是在变化。
octokit.actions.getWorkflowRun({
owner: owner,
repo: repo-name,
run_id: workflow-run-latest,
});
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个基于 CMake 的项目,其中我严重依赖FetchContent来检索多个库(源代码)。下载所有库可能需要一些时间,我想在 CI 运行器上进行编译时节省时间(GitHub Actions)。
我看到有一个缓存操作,如何使用它来缓存获取的源代码?
作为奖励,缓存这些获取的库的编译代码也可能会有所帮助。有可能吗?