标签: devops

从子目录运行 eslint

我的项目包含一个有自己的子项目.eslintrc(即在 下./path/to/subproject),
我正在尝试运行lint,但它要么转到根项目.eslintrc文件,要么找不到 我在 中尝试过以下配置的.eslintrc文件:
package.json

cd path/to/subproject
Run Code Online (Sandbox Code Playgroud)

和:

"lint": "tsc && eslint -c .eslintrc.js ./**/*.ts --"
Run Code Online (Sandbox Code Playgroud)

或者

"lint": "tsc && eslint -c ./.eslintrc.js ./**/*.ts --"
Run Code Online (Sandbox Code Playgroud)

还在根目录中尝试过:

"lint": "tsc && eslint -c path/to/subproject/.eslintrc.js ./**/*.ts --"
Run Code Online (Sandbox Code Playgroud)

或者

"lint": "tsc && eslint -c .eslintrc.js ./**/*.ts --"
Run Code Online (Sandbox Code Playgroud)

npm run lint --prefix path/to/subproject/
Run Code Online (Sandbox Code Playgroud)

但它不断引用根项目.eslintrc文件:

Oops! Something went wrong! :(

ESLint: 6.4.0.

ESLint couldn't find the config "configname" to extend from. Please …
Run Code Online (Sandbox Code Playgroud)

javascript eslint devops azure-devops eslintrc

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

尝试运行 xdotool 但收到“无法打开显示:(null)”

我很抱歉再次报告这个众所周知的错误消息。

没有什么对我有用。如果重要的话,我正在 MacOS Catalina 上运行。

我在 Mac 上安装并尝试xdotool运行brew

xdotool getmouselocation
Run Code Online (Sandbox Code Playgroud)

接下来的错误消息是

Error: Can't open display: (null)
Failed creating new xdo instance
Run Code Online (Sandbox Code Playgroud)

我花了很长时间寻找解决方案,找到了很多答案。运行export DISPLAY=:0,一切都很好。但这对我不起作用。

PS:为了更好地理解:DISPLAY到底是什么意思?这是我电脑的显示器吗?

linux macos xdotool devops

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

如何在 Azure DevOps 服务器集合之间移动项目?

我已在本地服务器上安装了 Azure DevOps 服务器,并创建了 DefaultCollection。几个月后,我们添加了更多系列。现在我们想要将一些项目从 DefaultCollection 移动到新集合。

我总是从“存储库”部分选择“导入”功能来移动存储库的所有历史记录、分支、提交、推送。但是当我输入 Azure DevOps 地址时,导入功能不起作用并引发错误:

由于以下原因之一而无法处理导入请求:

  • 克隆 URL 不正确。
  • 凭证不正确。
  • 克隆 URL 指向一个空存储库。

所有原因都在我的过程中修复并再次抛出相同的错误!当我将地址更改为其他 Git 服务器(不是 DevOps 服务器)的另一个 Git 存储库时,它工作正常。这有什么问题吗?

git azure devops azure-devops

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

为什么某些 Azure DevOps 代理比其他代理快得多?

我们正在使用 Microsoft Azure DevOps 来构建和运行测试。

我们有 10 个 Microsoft 提供的代理,并使用 YAML ( defaultVmImage: 'windows-latest') 来构建和运行测试。

有时测试需要 40 分钟。有时需要1小时40分钟!

为什么会有这样的差异呢?确定不是噪音邻居?他们位于不同的地理位置吗?

在此输入图像描述

(例如 AGENT_MACHINENAME“fv-az689”)

https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops#capability-and-limitations

我们能否检测到速度慢的代理并提前使构建失败?

收集性能信息没有帮助https://github.com/microsoft/azure-pipelines-tasks/blob/master/ci/

在此输入图像描述

  - task: DotNetCoreCLI@2
    displayName: 'dotnet test'
    inputs:
      command: test
      projects: '**/*.Tests/**/*.Tests.dll'
      arguments: --verbosity detailed --filter "$(testFilter)"
Run Code Online (Sandbox Code Playgroud)

devops azure-devops

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

提供数组作为 devops 管道的参数

我刚刚开始使用天蓝色管道。我们希望不再使用arm模板和参数文件手动部署Azure资源,而是使用devops管道来完成此任务。

虽然使用单个模板+参数的 json 文件来完成此操作很简单,但我看不到处理多个文件的明智方法。

我已经看到有关使用数组作为管道模板参数的讨论 - 这可行,但除了在管道 yaml 文件中手动设置参数数组之外,我看不到如何创建参数数组。

更有用的解决方案是从文本文件中读取其内容 - 我们可以在读取文件之前生成该文本文件,或者 - 更理想的是 - 通过引用包含 json 参数文件的存储库中的文件夹的目录列表他们都通用的模板。

yaml 管道中的代码片段能够传回单个字符串变量,例如

script: |
      # Get list of files in folder
      $fl =  get-childitem ./templates | select-object -expand name
      Write-output  "##vso[task.setvariable variable=fl]$fl"
      
Run Code Online (Sandbox Code Playgroud)

但所有这些产生的只是一个字符串,我无法将其拆分。

同样,我可以使用一段代码来动态创建文件列表 - 但同样,我无法看到如何在管道中读取它。

有没有一种方法可以让我在 DevOps 管道中动态设置参数数组的内容,或者从文件中读取数组?

或者我应该放弃并在 powershell 脚本中编写整个内容并使用任务来运行它,而不是尝试在 devops 中使用 azure 部署任务?

谢谢戴夫

azure devops azure-pipelines

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

从 Github 提取周期时间

我想从我的项目中提取任务(问题)周期时间,并探索如何以有意义且有用的方式将它们可视化。是否可以从 github API 检索此信息?在文档中花了一些时间后,我找不到可用的信息。以下是可用的端点:https://docs.github.com/en/rest/overview/endpoints-available-for-github-apps

似乎没有周期时间(处理时间)值,我该如何检索它?

github-api devops

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

如何在 terraform 中使用受密码保护的私有 ssh 密钥?

我正在按照本教程https://www.digitalocean.com/community/tutorials/how-to-use-ansible-with-terraform-for-configuration-management来学习 Terraform 和 Ansible。

当我执行时terraform apply,它抛出一个错误:

digitalocean_droplet.web[2]: Provisioning with 'remote-exec'...

Error: Failed to parse ssh private key: ssh: this private key is passphrase protected

Error: Error creating droplet: POST https://api.digitalocean.com/v2/droplets: 422 Failed to resolve VPC

  on droplets.tf line 1, in resource "digitalocean_droplet" "web":
   1: resource "digitalocean_droplet" "web" {
Run Code Online (Sandbox Code Playgroud)

这是代码:

  provisioner "remote-exec" {
    inline = ["sudo apt update", "sudo apt install python3 -y", "echo DONE!"]

    connection {
      host        = self.ipv4_address
      type        = "ssh"
      user        = "root"
      private_key …
Run Code Online (Sandbox Code Playgroud)

ssh ansible digital-ocean terraform devops

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

执行 Azure DevOps 构建管道时 - 收到消息:此管道需要权限才能继续访问资源

执行 Azure DevOps Pipeline 时收到需要权限消息

该管道需要访问资源的权限,然后才能继续运行......

我该如何解决这个问题?

permissions azure devops azure-devops azure-pipelines

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

常规作业的“if”语句中的 $CI_COMMIT_TAG

我尝试做一个非常基本的 GitLab CI 工作。
我想要:
当我推送到开发时,gitlab 会使用标签“develop”构建 docker 镜像
当我推送到 main 时,gitlab 检查当前提交是否有标签,并用它构建镜像,否则不会触发作业。

Build and publish docker image:
  stage: build
  rules:
    - if:
        ($CI_COMMIT_BRANCH == "main" && $CI_COMMIT_TAG && $CI_PIPELINE_SOURCE == "push")
      variables:
        TAG: $CI_COMMIT_TAG
    - if:
        ($CI_COMMIT_BRANCH == "develop" && $CI_PIPELINE_SOURCE == "push")
      variables:
        TAG: develop
  script:
    - echo $TAG
    - ...<another commands>
Run Code Online (Sandbox Code Playgroud)

但它并没有按预期工作。$CI_COMMIT_TAG - 为空。尽管触发作业(合并提交)的提交有标签。

我发现我发现的解释并不能帮助使用“if”语句实现我的目标。基于此处建议的工作流程的
解决方案也没有帮助。

使用名为 COMMIT_TAG 的变量的直观方式似乎很常见。
但它就是行不通。请好心人向我解释如何实现我的目标吗?

deployment docker gitlab-ci gitlab-ci-runner devops

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

使用 CLI 导出和导入仪表板的超级集(用于版本控制)

目标:我的目标是从超集中导出所有仪表板,以便我可以将它们保存为备份,并确保我可以导入它们。

现有设置:我从 git 克隆超集并用于docker-compose -f docker-compose-non-dev.yml up 设置和运行超集(遵循本文档

问题:使用 superset CLI:我使用此文档 连接到正在运行 superset 的现有 docker 映像,然后运行它,superset export-dashboards但它会引发以下错误:


    Loaded your LOCAL configuration at [/app/docker/pythonpath_dev/superset_config.py]
logging was configured successfully
2021-10-20 06:54:49,727:INFO:superset.utils.logging_configurator:logging was configured successfully
2021-10-20 06:54:49,732:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
/usr/local/lib/python3.8/site-packages/flask_caching/__init__.py:201: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
  warnings.warn(
Starting export
2021-10-20 06:54:50,962:INFO:superset.utils.dashboard_import_export:Starting export
Traceback (most recent call last):
  File "/usr/local/bin/superset", line 33, in <module>
    sys.exit(load_entry_point('apache-superset', 'console_scripts', 'superset')()) …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose devops apache-superset

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