小编Kev*_*chs的帖子

apt-get 抛出警告:“W:--force-yes 已弃用,请使用以 --allow 开头的选项之一”

我在 Circle CI“机器”执行器上运行 Ubuntu 20.04。今天我看到:

sudo apt-get install -y pkg1 pkg2
Run Code Online (Sandbox Code Playgroud)

正在抛出此警告:

W: --force-yes is deprecated, use one of the options starting with --allow instead
Run Code Online (Sandbox Code Playgroud)

我没有使用“--force-yes”。这是从哪里来的?甚至

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

抛出同样的警告。

debian apt ubuntu-20.04

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

Jenkins 管道脚本 - 自我意识 - 需要 Jenkinsfile 目录

我距离用一个 Jenkins 文件替换大量定制的 Jenkins 文件仅一步之遥。我需要获取的是包含正在执行的 Jenkinsfile 的目录。我正在使用声明性管道语法。

我查看了groovy代码中的几个想法,但找不到如何获得它。

对于那些需要查看特定内容的人,Jenkinsfile 的顶部如下所示:

#!/usr/bin/env groovy
pipeline {
  agent any
  environment {
    tf='/var/lib/jenkins/tools/terraform0108/terraform'
    dir='clients/xyz/us-east-1/dev'
}
Run Code Online (Sandbox Code Playgroud)

该变量dir被分配给该 Jenkinsfile 的位置。稍后在 groovy 代码中访问 dir。我希望能够省略该分配并仅从执行脚本的上下文中选取该目录。

我尝试了几种不同的方法,例如包含的步骤

script {
    println __FILE__
}
Run Code Online (Sandbox Code Playgroud)

script { 
    scriptDir = new File(getClass().protectionDomain.codeSource.location.path).parent
    println scriptDir
}
Run Code Online (Sandbox Code Playgroud)

两者都没有运行(在FILE情况下给出了不存在的变量,在第二种情况下给出了权限冲突)。我尝试了“${ FILE }”和其他变体。

我需要在步骤 -- sh 块中使用该目录,因此我相信它需要位于环境项中。

现在,Jenkins 作业配置提供了 Jenkins 文件的路径,但我不想重复该操作以在该级别创建另一个环境变量。

已经咨询过:

感谢帮助。

jenkins

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

标签 统计

apt ×1

debian ×1

jenkins ×1

ubuntu-20.04 ×1