小编gio*_*oni的帖子

有没有办法在 Jenkins 2 管道中插入手动批准?

Jenkins 2 拥有管道,拥有一等公民。但是,在示例中,任务似乎是作为单个序列执行的:

node {
   // Mark the code checkout 'stage'....
   stage 'Checkout'

   // Get some code from a GitHub repository
   git url: 'git@github.com:elifesciences/elife-bot.git'

   // Mark the code build 'stage'....
   stage 'Build'
   echo "Unit tests will run here"

   stage "Production"
   echo "Deploying to production environment"
}
Run Code Online (Sandbox Code Playgroud)

对于部署到生产系统中,需要手动批准通常很有用;有没有办法插入手动按钮以在管道内按下?

我一直在寻找在文档上完成此操作可能步骤,但无济于事。

jenkins

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

如何停止运行睡眠的 docker 容器?

sleep 当然,它是大多数复杂过程的替代品。

这个 Dockerfile(如您所见,使用 exec 形式,因此只有一个进程在运行,并且没有 的子进程bash):

FROM busybox
CMD ["/bin/sleep", "100000"]
Run Code Online (Sandbox Code Playgroud)

创建一个不间断的容器:

docker build -t kill-sleep .
docker run --rm --name kill-sleep kill-sleep
Run Code Online (Sandbox Code Playgroud)

当我试图阻止它时:

time docker stop kill-sleep

kill-sleep
real    0m10.449s
user    0m0.021s
sys     0m0.027s
Run Code Online (Sandbox Code Playgroud)

命令在容器被杀死前 10 秒超时。

问题不在于sleep不处理信号,因为如果我在主机上运行它:

sleep 100000
# in another shell
ps faxww | grep sleep
kill -TERM 31333  # the PID
Run Code Online (Sandbox Code Playgroud)

该过程立即停止。

问题可能与它在容器中作为 PID 1 运行的事实有关,但我还没有看到相关的参考文档。

docker

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

如何在没有确认的情况下减少打开的二进制文件?

我有几个包含几个字节的日志文件,这些字节不是可显示的字符(由于请求上的二进制签名)。

每次我打开它们时都会被问到:

$ less /var/log/file.log       
"/var/log/file.log" may be a binary file.  See it anyway? 
Run Code Online (Sandbox Code Playgroud)

如何使用命令行选项或配置减少跳过此步骤?

unix command-line less

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

标签 统计

command-line ×1

docker ×1

jenkins ×1

less ×1

unix ×1