在gitlab共享运行程序上运行时,回车符(\ r)不起作用

时间:2019-08-04 05:02:07

标签: gitlab-ci-runner docker-image

我为我开发的python应用程序构建了一个进度条。预期如下所示:

 [██████████████      ] 70%

在本地终端和由我的机器构建的docker容器中运行时,此方法工作正常。但是,在gitlab共享运行程序中运行时,它未按预期显示。它没有显示到目前为止的进度,而是显示多行。像下面这样

 [█████████████       ] 68%
 [█████████████       ] 68%
 [█████████████       ] 68%
 [█████████████       ] 68%
 [█████████████       ] 69%
 [█████████████       ] 69%
 [█████████████       ] 69%
 [█████████████       ] 69%
 [█████████████       ] 69%
 [██████████████      ] 70%
 [██████████████      ] 70%

为了理解可能的原因,我试图找出共享运行容器的终端属性。因此,我执行了以下命令,所有命令均返回错误。因此需要帮助解决问题。

$ stty size
stty: 'standard input': Inappropriate ioctl for device

$ tput cols
tput: No value for $TERM and no -T specified

我的gitlab-ci.yml文件如下所示

 run-project:
   image: python:3.6
   script:
     - stty size
     - python3 Test.py

以下是我用来显示进度条的示例代码:

 import sys

 i = 1
 sys.stdout.write('Start')
 for k in range(100000):
         i += 1
         sys.stdout.write('\r')
         j = (i/100000)
         sys.stdout.write("[%-20s] %d%%" % ('█'*int(20*j), int(100*j)))

我想看到的是显示任务进度的一行,而不是终端显示到目前为止显示进度的数百行(这是我使用回车符的目的)

1 个答案:

答案 0 :(得分:0)

现在在gitlab中已解决,回车符也可以工作!

任务状态:
[████████████████████] 100%