很简单的问题,我不确定我错过了什么。
\n我有一个环境秘密:
\n\n在这种情况下,“生产”环境可用于所有分支。\n我只是尝试在 appsettings 替换操作中访问 MESSAGE 变量(我尝试添加和删除存储库级别 MESSAGE 但无济于事):
\n- uses: actions/checkout@master\n- name: Variable\xe2\x80\xafSubstitution\n uses: microsoft/variable-substitution@v1\n with:\n files: DummyApi/appsettings.json\n env:\n Message: ${{ secrets.MESSAGE }}\nRun Code Online (Sandbox Code Playgroud)\n这将用 repo 级别设置替换它,但不是 env 级别设置,这根本不会替换它:
\n- uses: actions/checkout@master\n- name: Variable\xe2\x80\xafSubstitution\n uses: microsoft/variable-substitution@v1\n with:\n files: DummyApi/appsettings.json\n env:\n Message: ${{ env.MESSAGE }}\nRun Code Online (Sandbox Code Playgroud)\n简单地说 - 如何访问环境中的 MESSAGE 值?我需要手动设置环境吗?谢谢。
\n补充信息:
\n我真正想做的是这样的:
\non: [push]\njobs:\n build-and-deploy:\n runs-on: ubuntu-latest\n environment: contains(\'main\', $GITHUB_REF) ? production : development\nRun Code Online (Sandbox Code Playgroud)\n我知道最后一行不起作用,但似乎如果我设置环境,我可以看到秘密 - 我只想重用大量部署代码而不是复制/粘贴。
\n我正在开始使用 CI/CD 和 Docker,我想在工作流程文件中将连接字符串传递给 docker。
deploy:
runs-on: ubuntu-latest
needs: publish
steps:
- name: deploy to server
uses: appleboy/ssh-action@master
env:
CONN_STRING: ${{ secrets.CONN_STRING }}
with:
host: ${{ secrets.SECRET_IP }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SERVER_KEY }}
port: 22
script: docker stop *** && docker rm **** && docker pull **** && docker run --env CONN_STRING=$CONN_STRING -d --name ******
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我创建了一个名为“CONN_STRING”的环境,它从我的 github 秘密中获取连接字符串。之后我想通过“CONN_STRING=$CONN_STRING”将其传递到dockerscript中。然而,自从我添加了这个之后,我的泊坞窗一直崩溃。有人知道我做错了什么吗?**** 只是我的项目的名称,我想保密。
我正在尝试使用缓存优化 android 和 ios 的 CICD 部署工作流程,但缓存路径有问题。当不缓存工作流程时效果很好,但在缓存时,fastlane 操作找不到 flutter 或 pod,并且我收到类似“error: /Users/runner/work/xxx/xxx/ios/Flutter/Release.xcconfig:1: ”的错误:在搜索路径中找不到包含的文件“Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig”(在项目“Runner”的目标“Runner”中)”
name: Deploy staging
on:
workflow_dispatch:
inputs:
lane:
description: "Staging lane to use : alpha or beta"
required: true
default: "alpha"
jobs:
deploy-to-ios:
runs-on: macos-latest
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Flutter Cache
id: cache-flutter
uses: actions/cache@v2
with:
path: /Users/runner/hostedtoolcache/flutter
key: ${{ runner.os }}-flutter
restore-keys: |
${{ runner.os }}-flutter-
- name: Setup Flutter
uses: subosito/flutter-action@v1
if: steps.cache-flutter.outputs.cache-hit != 'true'
with:
channel: …Run Code Online (Sandbox Code Playgroud) 使用 Rails 6.1.4,以下工作在本地进行,以在系统测试中填充富文本(操作文本):
find("trix-editor").set("Something")
Run Code Online (Sandbox Code Playgroud)
但是,在 GitHub 操作上运行时,我收到:
Capybara::ElementNotFound: Unable to find visible css "trix-editor"
将代码更改为:
find("trix-editor", visible: false).set("Something")
Run Code Online (Sandbox Code Playgroud)
在本地也可以工作,但在 GitHub CI 上再次失败:
Selenium::WebDriver::Error::ElementNotInteractableError: element not interactable
我还尝试过以下方法:
find("#unique_element_id").set("Something")
find(:css, ".trix-content").click.set("Something")
Run Code Online (Sandbox Code Playgroud)
我在本地和 GitHub CI 映像上运行 Ubuntu 20.04。我该如何解决这个问题?
编辑:
我发现有一些未合并的 Rails 代码应该执行此操作。然而,在 my 中实现它test_helper也可以在本地工作,但在 CI 上失败。也许我只需要尝试另一个 CI 提供商
我一直在围绕可重用工作流程查找 Github Action 文档,并尝试将一系列矩阵拼凑在一起。
我的伪工作流程类似于以下步骤。
这似乎是一个相对简单的目标。然而,工作流程可重用调用似乎不支持strategy. 如我错了请纠正我?
尝试从curl 获取响应并在后续命令中使用它。不确定这里的正确语法应该是什么。
- name: Get Token
run: |
response = $(curl https://********* -header "Accept: application/json" -header "X-Username: ${{ secrets.USER_NAME }}" -header "X-Password: ${{ secrets.PASSWORD }}")
echo "response from curl= $response"
Run Code Online (Sandbox Code Playgroud) 我从 github 卸载了 Vercel 应用程序,但当我提交代码或打开拉取请求时,它仍在运行检查和自动部署。如何删除应用程序安装的所有自动检查、环境和部署?我认为卸载应用程序会默认删除自动化功能,但我想事实并非如此。这是在私人仓库上。
感谢您的帮助!
我正在开发 2 个 github 操作工作流程:
使用https://github.com/jakejarvis/s3-sync-action我能够完成第一个工作流程。我训练一个模型,然后将“模型”目录与 s3 上的存储桶同步。
我本来计划使用相同的操作来下载模型以用于预测,但看起来此操作是单向的,仅上传而不下载。
我通过创建工作流程并尝试与跑步者同步发现了困难的方法:
retreive-model-s3:
runs-on: ubuntu-latest
steps:
- name: checkout current repo
uses: actions/checkout@master
- name: make dir to sync with s3
run: mkdir models
- name: checkout s3 sync action
uses: jakejarvis/s3-sync-action@master
with:
args: --follow-symlinks
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_S3_ENDPOINT: ${{ secrets.AWS_S3_ENDPOINT }}
AWS_REGION: 'us-south' # optional: defaults to us-east-1
SOURCE_DIR: 'models' # optional: defaults to …Run Code Online (Sandbox Code Playgroud) 这里我在一个作业下有两个工作流程。我们想要实现的唯一目标是,我们希望通过缓存或其他方式重用容器镜像。我们对node_modules 的做法类似
jobs:
build:
name: build
runs-on: [self-hosted, x64, linux, research]
container:
image: <sample docker image>
env:
NPM_AUTH_TOKEN: <sample token>
steps:
- uses: actions/checkout@v2
- name: Install
run: |
npm install
- name: Build
run: |
npm build
Test:
name: Test Lint
runs-on: [self-hosted, x64, linux, research]
container:
image: <sample docker image>
env:
NPM_AUTH_TOKEN: <sample token>
steps:
- uses: actions/checkout@v2
- name: Install Dependencies
run: npm ci
- name: Lint Check
run: npm run lint
Run Code Online (Sandbox Code Playgroud) github-actions ×10
github ×6
docker ×2
amazon-s3 ×1
appsettings ×1
caching ×1
capybara ×1
cicd ×1
dockerfile ×1
fastlane ×1
flutter ×1
github-api ×1
ios ×1
workflow ×1