我创建了工作流程Test
,但没有Run workflow
手动运行它的按钮。
这是我的test.yml
文件。有什么遗漏吗?
name: Test
on:
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run a one-line script
run: echo Hello, world!
Run Code Online (Sandbox Code Playgroud) 以前有人遇到过这种情况吗?我在嵌套构建后使用 CI/CD 运行我的代码,它给了我错误:
node_modules/@types/superagent/index.d.ts:23:10 - error TS2305: Module '"buffer"' has no exported member 'Blob'. 23 import { Blob } from "buffer";
我不知道为什么?如果您有此问题的解决方案,请分享。
我在运行 git push 时遇到了这个问题。
$ flake8 --config setup.cfg Traceback (most recent call last): File "/usr/local/bin/flake8", line 8, in <module>
sys.exit(main()) File "/usr/local/lib/python3.8/site-packages/flake8/main/cli.py", line 23, in main
app.run(argv) File "/usr/local/lib/python3.8/site-packages/flake8/main/application.py", line 198, in run
self._run(argv) File "/usr/local/lib/python3.8/site-packages/flake8/main/application.py", line 186, in _run
self.initialize(argv) File "/usr/local/lib/python3.8/site-packages/flake8/main/application.py", line 165, in initialize
self.plugins, self.options = parse_args(argv) File "/usr/local/lib/python3.8/site-packages/flake8/options/parse_args.py", line 53, in parse_args
opts = aggregator.aggregate_options(option_manager, cfg, cfg_dir, rest) File "/usr/local/lib/python3.8/site-packages/flake8/options/aggregator.py", line 30, in aggregate_options
parsed_config = config.parse_config(manager, cfg, cfg_dir) File "/usr/local/lib/python3.8/site-packages/flake8/options/config.py", line 131, in parse_config …
Run Code Online (Sandbox Code Playgroud) 我正在 gitlab-ci.yml 文件中运行以下代码部分:
script:
- pip install --upgrade pip
- cd ./TestAutomation
- pip install -r ./requirements.txt
Run Code Online (Sandbox Code Playgroud)
以下是键和值。所以我必须将任何值传递到管道,并将 key 作为变量 ENV : dev
我通过扩展将上述三个变量添加到了 GitLab CI CD 变量部分。只是添加了一个值和键
我还发现我们可以在 .yml 文件本身中添加变量,如下所示。我不知道如何为一个键添加多个值
variables:
TEST:
value: "some value" # this would be the default value
description: "This variable makes cakes delicious"
Run Code Online (Sandbox Code Playgroud)
当我运行管道时,我收到错误,因为看起来这些变量和值没有正确注入。
更多细节:
我在运行管道时遇到同样的错误。因此,我怀疑当我通过管道运行时,类别变量没有正确注入
如果需要,我会将其显示在共享屏幕上
我观察到的是——与我作为参数或变量传递的键关联的值,这些值不会被注入或替换,而不是键。所以理想情况下 ${Category} 应该替换为 value Smoke 等
我正在使用 GitLab CICD,处于定义的 docker-test 阶段
docker_test: image: docker:stable services: - docker:stable-dind stage: docker-test
......
昨天工作正常,但今天 - GitLab 管道 'docker_test' 失败并显示: TypeError: kwargs_from_env() got an Unexpected keywords argument 'ssl_version'
我在互联网上发现它可能升级到 7.0.0 https://docker-py.readthedocs.io/en/stable/change-log.html
这里有人建议(对于不同的设置)降级到以前的 6.3.1
搜索后 - 不知道该怎么做。也许还有其他解决方案?
我一直在尝试在 Github actions 中构建 CICD 管道,但我们无法在其中处理 if 和 or 条件。下面是我们的代码片段的示例,
name: Build Non prod
needs: [rules]
if: ${{ (needs.rules.outputs.branch_name != 'production') || (needs.rules.outputs.branch_name != 'staging') }}
steps:
- name: Checkout
uses: actions/checkout@v2
Run Code Online (Sandbox Code Playgroud)
因此,此任务不应在分支中运行production
,staging
但是当操作在staging
分支中运行时,此作业也会与不适合staging
环境的其他作业一起被触发。
有什么办法可以拥有if
和or
条件吗?
更新:
该条件将不起作用,更新后的条件将起作用。
if: ${{ (needs.rules.outputs.branch_name != 'production') && (needs.rules.outputs.branch_name != 'staging') }}
Run Code Online (Sandbox Code Playgroud) 我有以下工作流程:
name: CICD
# ...
jobs:
CI:
uses: ...
CD:
needs: [CI]
uses: ...
Run Code Online (Sandbox Code Playgroud)
我遇到了一个问题,需要我暂时禁用使用其他工作流程(不仅仅是单个步骤或操作)的 CD 作业。
最近似乎有关于“跳过工作流程运行”的更新
您可以通过在提交消息中包含命令来跳过由 Push 和 Pull_request 事件触发的工作流运行。
这听起来很不方便,他们在底部提到:
您还可以禁用工作流程的运行。有关详细信息,请参阅“禁用和启用工作流程”。
您可以在其中使用 GitHub UI、REST API 或 GitHub CLI 禁用和重新启用工作流。但是,当工作流程用作可重用工作流程时,这似乎不起作用。
我也可以简单地省略逻辑:
name: CICD
# ...
jobs:
CI:
uses: ...
Run Code Online (Sandbox Code Playgroud)
但我想以不同的方式保留版本控制历史记录(+使我的管道明确声明该作业已禁用/跳过)
有解决方法吗?
Node.js 从版本 14 更新到版本 16 后,我们在 bitbucket CI/CD 管道上进行了大量失败的测试。本地测试通过。
似乎是计时器中的问题,因为第一条错误消息显示:“FakeTimers:调用clearTimeout来清除本机计时器而不是此库创建的计时器。要自动清理本机计时器,请使用shouldClearNativeTimers
“。之后,一系列测试都失败了。
在为笑话添加“--runInBand”参数后,它解决了问题,但这不是一个理想的方法。
将不胜感激任何帮助。
我在 gitlab runner 上使用 docker executor 作为我正在使用的图像,但docker:stable
收到此错误:
$ docker login gitlab.mydomain.com:5050 -u myusername-p mytoken
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
error during connect: Post http://docker:2375/v1.40/auth: dial tcp: lookup docker on 67.207.67.3:53: no such host
Cleaning up project directory and file based variables
00:01
ERROR: Job failed: exit code 1
Run Code Online (Sandbox Code Playgroud)
这是我的config.toml
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "dev-env"
url = "https://gitlab.mydomain.com/"
token = "REDACTED"
executor = "docker" …
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种仅在成功(或尝试)拉取请求合并时触发 Azure 管道的方法。
我现在有 :
trigger:
branches:
include:
- DEV
steps:
- script: FOO
Run Code Online (Sandbox Code Playgroud)
但每次 DEV 分支发生更改时都会运行,我想避免这种情况。
此外,我想要一个编程响应,而不是每次都通过用户界面。
编辑:发生了一件奇怪的事情
condition: and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'))
Run Code Online (Sandbox Code Playgroud)
得到:
Expanded: and(True, eq('IndividualCI', 'PullRequest'))"
Run Code Online (Sandbox Code Playgroud)
在做公关时,因此没有达到预期效果