我有这个管道文件来对我的项目进行单元测试:
image: jameslin/python-test
pipelines:
default:
- step:
script:
- service mysql start
- pip install -r requirements/test.txt
- export DJANGO_CONFIGURATION=Test
- python manage.py test
但是可以切换到另一个Docker镜像进行部署吗?
image: jameslin/python-deploy
pipelines:
default:
- step:
script:
- ansible-playbook deploy
我似乎无法找到任何说明是或否的文件。
答案 0 :(得分:24)
您可以为每个步骤指定图像。像那样:
pipelines:
default:
- step:
name: Build and test
image: node:8.6
script:
- npm install
- npm test
- npm run build
artifacts:
- dist/**
- step:
name: Deploy
image: python:3.5.1
trigger: manual
script:
- python deploy.py
答案 1 :(得分:6)
终于找到了它:
step(必需)定义构建执行单元。执行步骤 它们出现在管道中的顺序。目前,每个 管道只能有一个步骤(一个用于默认管道,另一个用于管道) 为每个分支)。您可以通过指定覆盖主Docker镜像 一步中的图像。
答案 2 :(得分:2)
我没有发现任何信息说是或否,所以我假设是因为这个图像可以配置你需要的所有语言和技术我会建议这个方法:
image: yourusername/your-image
pipelines:
branches:
master:
- step:
script: # Modify the commands below to build your repository.
- echo "Starting pipelines for master"
- chmod +x your-task-configs.sh #necessary to get shell script to run in BB Pipelines
- ./your-task-configs.sh
feature/*:
- step:
script: # Modify the commands below to build your repository.
- echo "Starting pipelines for feature/*"
- npm install
- npm install -g grunt-cli
- npm install grunt --save-dev
- grunt build