如何将 bc 添加到 bitbucket CI?

How to add bc to bitbucket CI?

我正在将 pylint 添加到 Bitbucket CI。我决定使用自定义脚本。

bitbucket-pipeline.yml 如下:

image: python:3.6.2

pipelines:
  default:
    - step:
        caches:
          - pip
        script:
          - set -e
          - pip install -r requirements.txt
          - pip install --upgrade urllib3
          - nosetests project1/test
          - nosetests project2/test
          - pylint --rcfile=.pylintrc --output-format=text project1/report | tee pylint.txt
          - score=$(sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*//p' pylint.txt)
          - apt-get install bc
          - sh pylint_score.sh

检查pylint分数(pylint_score.sh)的脚本如下:

#!/usr/sh

score=$(sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*//p' pylint.txt)

echo "Pylint score was $score"

threshhold=$(echo "$score>8.0" | bc)

echo "$threshhold"

if [ $threshhold -eq 0 ]
then
    exit 1
fi

exit 0

我得到的错误:

E: Unable to locate package bc

如何将 bc 安装到 Bitbucket CI 中,或者有什么解决方法可以在完全没有 bc 的情况下使其正常工作?

最初,我查看了不同的解决方案,但似乎既没有开箱即用的解决方案,也没有 "best practice" 每个人都实施的解决方案。因此,我移动了我的自定义实现。

为了解决我的问题,我找到了 Bitbucket ticket

bitbucket-pipeline.yml:

apt-get install bc行应修改为

apt-get update && apt-get install -y bc

或在某些情况下

apt-get update && apt-get install -y --no-install-recommends bc