小编fud*_*udo的帖子

Gitlab 覆盖率徽章始终未知

问题

我正在开发一个 Laravel 包项目,并设置一个管道来测试它(针对 php 7.3、7.4 和 8.0)合并请求,并将其发布到主分支上的包注册表。

我正在尝试为代码覆盖率设置一个徽章,但我无法使其正常工作,因为它始终是显示unknown百分比。

我做了什么

管道

stages:
  - dependancies
  - linting
  - test
  - publish

# Dependancies job
download dependancies:
  stage: dependancies
  # job stuff

# Linting jobs
phpcs:
  stage: linting
  # job stuff

# test jobs templates
.testing_template: &testing
  stage: test
  script:
    - php -dxdebug.mode=coverage vendor/bin/phpunit --coverage-text --colors=never
  only:
    - merge_requests

# Testing jobs
php 8:
  image: mileschou/xdebug:8.0
  <<: *testing

php 7.4:
  image: mileschou/xdebug:7.4
  <<: *testing

php 7.3:
  image: mileschou/xdebug:7.3
  <<: *testing …
Run Code Online (Sandbox Code Playgroud)

testing code-coverage badge gitlab-ci

17
推荐指数
2
解决办法
2万
查看次数

c ++ 20 std::integral_constant?

我刚刚进入元编程,正在 youtube 上观看 Cppcon 频道,看到了这个std::integral_constant,但找不到它的用途。

据我所知,这是一种将值与其类型一起“打包”的方法,它可以用

std::integral_constant<int, 42> i;
std::integral_constant<bool, true> b;
std::integral_constant<float, 3.14> f;
...
Run Code Online (Sandbox Code Playgroud)

并且这些实例中的每一个都可以像它们包含的值一样使用,即:可以传递、用于数学运算、比较等。

但是我不明白为什么我应该使用这些结构而不是实际包含的值,也不明白我是否可以在运行时实际访问值类型(即:intboolfloat)来处理它。

有人可以提供一个实际使用此功能的简单示例吗?一个解释它的用法与使用实际值的区别的例子?

c++ std

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

gitlab 问题类型以及如何创建新问题

好的,我正在使用 Giltab 并注意到了这一点

在此输入图像描述

然后找到并阅读有关问题类型的文档

看起来我可以使用真实的问题类型而不是标签来将问题识别为(例如)错误、提案、增强、新功能请求等,但我不明白是否可以创建新的问题类型。

有人成功使用过这个功能吗?

customization issue-tracking gitlab

9
推荐指数
2
解决办法
7818
查看次数

Laravel 自定义验证规则引用其他请求参数

我正在尝试创建一个接受参数的自定义验证规则,但该参数是请求中另一个字段的名称,就像规则一样required_with

我可以轻松处理规则中给定的参数,但我正在努力找出如何检索其他字段值。

目前我正在创建我的规则类

class MyClassRule
{
    public function validate($attribute, $value, $parameters, $validator) : bool
    {
        // do some stuff here to return true/false
    }
}
Run Code Online (Sandbox Code Playgroud)

并在我的服务提供商中注册

Validator::extend('my_rule', 'path\to\MyClassRule@validate');
Run Code Online (Sandbox Code Playgroud)

所以我可以在我的请求中使用它

public function rules()
{
    return [
        'field' => ['my_rule'],
    ];
}
Run Code Online (Sandbox Code Playgroud)

我想做的是

public function rules()
{
    return [
        'other_field' => [...],
        'field'       => ['my_rule:other_rule'],
    ];
}
Run Code Online (Sandbox Code Playgroud)

并使用other_field我的规则类中的值,但validate()$parameters值只是['other_field']。即包含其他字段名称而不是其值的数组。

我怎样才能做到这一点?

validation rules laravel laravel-validation php-7

8
推荐指数
2
解决办法
2万
查看次数

如何创建一个 gitlab 机器人来自动处理问题

我们正在处理一些托管在 Gitlab 上的项目,如果有一个机器人来自动处理一些问题,对我们来说真的很方便。
例如:自动关闭 20 多天前标记为“等待客户答复”的问题

我找不到任何关于如何执行此操作的指南或教程,我什至不知道它是否可以完全在 github 中完成,或者我是否需要从外部服务创建我的机器人。

automation bots gitlab

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

如何在 Nuxt3 中使用 nuxtjs/auth-next 模块?

只是尝试按照配置nuxt/auth 文档向我的 NuxtJs 3 应用程序添加身份验证,但在应用程序启动期间仍然出现错误:

在此输入图像描述

// nuxt.config.js

export default defineNuxtConfig({
    auth: {
        // ...
    },
    modules: [
        // '@nuxtjs/axios',
        '@nuxtjs/auth-next'
    ],
})
Run Code Online (Sandbox Code Playgroud)

收到相同的错误,@nuxtjs/axios但我只是将其注释掉,因为其官方文档指示切换到$fetch API.

无法找出错误在哪里

authentication vue.js nuxt.js nuxtjs3 nuxt-module

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

仅当目标字段存在时,Laravel `lt` 和 'gt' 验证规则

我的请求中有两个整数字段需要验证,min_heightmax_height,两者都是可选的,但必须min_height小于max_heightmax_height希望(当然)大于min_height

使用验证规则如下

'min_height' => ['nullable', 'integer', 'lt:max_height'],
'max_height' => ['nullable', 'integer', 'gt:min_height'],
Run Code Online (Sandbox Code Playgroud)

当其中一个存在但另一个不存在时,这当然会给我带来错误,因为lt/gt验证规则针对null请求字段进行检查。

仅当其他字段存在时,我如何才能进行lt检查?gt有没有办法通过内置验证规则来实现这一点,或者我是否必须实现自定义验证器?

更新

可能我还不够清楚:我的两个字段都是可为空且彼此独立的min_height,所以接收和不接收都可以max_height,反之亦然:这使得规则required_with不适合我的用例。

validation rules laravel eloquent option-type

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

Gitlab CI/CD 自动标记发布

我试图让我的 GitLab 管道自动标记分支,master但没有成功。

我想做的事

由于该项目是一个composer包,所以我想要做的是从文件中获取版本号composer.json,将其存储在一个变量中,然后使用这个变量与git来标记分支。

我在做什么

这是我的管道工作部分.gitlab-ci.yml

tagging:
  stage: publish
  image: alpine
  only:
    - master
  script:
    - version=$(cat composer.json | grep version | grep -Eo "[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+")
    - git tag "$(version)"
    - git push --tags
Run Code Online (Sandbox Code Playgroud)

错误

我实际上无法判断问题是什么,因为 GitLab 作业输出中没有显示任何输出,如下图所示

在此输入图像描述

continuous-integration git-tag gitlab-ci

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

无法通过密钥环文件启用加密

好的,我正在按照官方 Mysql 文档在 docker 上的 mysql 数据库上启用加密:

这就是我所做的:

  1. 添加了和early-plugin-load(我使用了mysql docker 映像没有文本编辑器),所以现在是:keyring_file_data/etc/mysql/my.cnfecho stuff >> file
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Custom config should go here
!includedir /etc/mysql/conf.d/
early-plugin-load=keyring_file.so
keyring_file_data=/usr/local/mysql/mysql-keyring/keyring
Run Code Online (Sandbox Code Playgroud)
  1. 创建了密钥环文件
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks …
Run Code Online (Sandbox Code Playgroud)

mysql encryption docker mysql-8.0

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

在平衡服务器上处理 Laravel 中的日志记录

我的 Laravel 应用程序有 2 个平衡服务器,但每个服务器都登录到自己的目标文件夹(我们使用每日文件日志记录):有没有办法有一个集中位置来保存日志?

我已经安排了日志记录配置以在输出中包含服务器名称,但我不知道如何处理这种情况。

也许是对象存储?或者是什么?非第三方解决方案会更好,我们希望将所有内容保留在 Laravel 和我们的服务器内,但如果别无选择,我们将安排外部解决方案。

logging load-balancing laravel

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