我有一份 GitLab CI/CD 工作,做一些事情。
我希望某些执行的命令能够失败并导致此作业发出警告,但我也希望其他命令在失败时导致管道中出现错误。
我已经在 .yaml 文件中进行了设置allow_failure: true,无论出现什么错误,这都会导致此作业出现警告。
我可以告诉 GitLab 作业输出特定退出代码的错误和另一个退出代码的警告吗?
我有一个 python 文件,它使用 jinja2 生成 HTML 页面(和 PDF),如下所示。
import pandas as pd
import requests
from jinja2 import Environment, FileSystemLoader
from weasyprint import HTML
# Stuff to get dataframe...
# Generate PDF and csv
env = Environment(loader=FileSystemLoader('.'))
template = env.get_template("template.html")
template_vars = {"title" : "Something...",
"vulnerabilities_table": df.to_html(index=False)}
html_out = template.render(template_vars)
HTML(string=html_out).write_pdf("report_styled.pdf", stylesheets=["style.css"])
Run Code Online (Sandbox Code Playgroud)
它使用以下内容template.html
<!DOCTYPE html>
{% block layout_style %}
<style> @page { size: letter landscape; margin: 2cm; } </style>
{% endblock %}
<html>
<head lang="en">
<meta charset="UTF-8">
<title>{{ title }}</title> …Run Code Online (Sandbox Code Playgroud) 我正在尝试自动化 Maven 项目的 DefectDojo 模板。我需要在 DefectDojo 实例中创建一个产品并存储所创建产品的 ID。
我为一项仅运行一次的作业编写了一个脚本(创建项目时有一个管道,然后将其删除,因为它无用)。
因此,我无法使用该工件将获得的 ID 传递到其他阶段,.env因为该作业不再运行。
事实上,我想使用运行一次的作业动态分配 PRODUCT_ID 作为 GitLab 变量。这可能吗 ?
我执行命令并使用“>”运算符重定向其输出。我想获取命令的退出代码,但因为“>”也被视为命令,所以我得到了后者的退出代码。
例如,如何获取yarnaudit命令的退出代码?在这里,它始终为 0,因为“>”运算符成功重定向了输出...
yarn audit --json > report_yarn_audit.json
EXIT_CODE=$?
Run Code Online (Sandbox Code Playgroud)