小编Soa*_*lex的帖子

GitLab 作业允许某些退出代码失败

我有一份 GitLab CI/CD 工作,做一些事情。

我希望某些执行的命令能够失败并导致此作业发出警告,但我也希望其他命令在失败时导致管道中出现错误。

我已经在 .yaml 文件中进行了设置allow_failure: true,无论出现什么错误,这都会导致此作业出现警告。

我可以告诉 GitLab 作业输出特定退出代码的错误和另一个退出代码的警告吗?

yaml gitlab gitlab-ci gitlab-ci-runner

5
推荐指数
1
解决办法
1万
查看次数

使用 Jinja2 和 weasyprint 在 PDF 中渲染 template.html 中的图像

我有一个 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)

python jinja2 weasyprint

5
推荐指数
1
解决办法
4856
查看次数

动态保存仅针对一个管道运行的作业的 GitLab 变量

我正在尝试自动化 Maven 项目的 DefectDojo 模板。我需要在 DefectDojo 实例中创建一个产品并存储所创建产品的 ID。

我为一项仅运行一次的作业编写了一个脚本(创建项目时有一个管道,然后将其删除,因为它无用)。

因此,我无法使用该工件将获得的 ID 传递到其他阶段,.env因为该作业不再运行。

事实上,我想使用运行一次的作业动态分配 PRODUCT_ID 作为 GitLab 变量。这可能吗 ?

variables gitlab gitlab-ci

3
推荐指数
1
解决办法
1万
查看次数

获取使用重定向运算符的命令的退出代码

我执行命令并使用“>”运算符重定向其输出。我想获取命令的退出代码,但因为“>”也被视为命令,所以我得到了后者的退出代码。

例如,如何获取yarnaudit命令的退出代码?在这里,它始终为 0,因为“>”运算符成功重定向了输出...

yarn audit --json > report_yarn_audit.json
EXIT_CODE=$?
Run Code Online (Sandbox Code Playgroud)

bash

1
推荐指数
1
解决办法
695
查看次数