小编she*_*eer的帖子

可以使用Groovy以外的其他语言在Jenkins Pipeline中创建“共享库”吗?

我有执行REST命令并处理结果的python脚本。我希望这个脚本可以被不同的Jenkins Pipelines使用,我通过Jenkins官方文档发现的一种方式是使用“共享库”,而这些示例(以及我在网上找到的其他示例)也使用了Groovy。

我的问题是,是否可以用Groovy以外的其他语言创建共享库?对于前。蟒蛇?

shared-libraries jenkins-pipeline

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

如何找到容器的Docker镜像?

我正在尝试为容器找到相应的docker映像。

docker inspect <container-id> 
Run Code Online (Sandbox Code Playgroud)

这给出了很多信息。如果我这样做,它还会提供docker映像:docker inspect ['Config'] ['Image']

但这不是可靠的来源,因为有时它仅提供一些SHA,例如 sha256:00954e990edd7c78dff64c8031c58c07cb36b4591dca3923b5a1a1c31199e54c

是否有找到容器的docker映像的可靠方法?

特别是通过Python代码。

我有docker客户端,但是不支持任何可以给我图像名称的查询。

python containers docker

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

了解互斥体行为

我在想mutex在 Go 中会锁定数据并且不允许任何其他人读/写,goroutine除非拳头goroutine释放锁。看来我的理解是错误的。阻止其他人读/写的唯一方法goroutine是调用lock其他goroutines人。这将确保critical section只有一个访问goroutine

所以,我希望这段代码有一个死锁:

package main

import(
    "fmt"
    "sync"
)

type myMap struct {
    m map[string]string
    mutex sync.Mutex
}

func main() {
    done := make(chan bool)
    ch := make(chan bool)
    myM := &myMap{
        m:     make(map[string]string),
    }
    go func() {
        myM.mutex.Lock()
        myM.m["x"] = "i"
        fmt.Println("Locked. Won't release the Lock")
        ch <- true
    }()

    go func() {
        <- ch
        fmt.Println("Trying to write to …
Run Code Online (Sandbox Code Playgroud)

multithreading mutex go goroutine

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