如何在位桶管道中的步骤之间使用图像
How to use the image between steps in bitbucket-pipelines
如果有人可以帮助我为我的 php 环境设置 bitbucket-pipeline,我将不胜感激。我想要成功的是:
- 第一步构建镜像
- 在第二步中 运行 一些 QA 东西,如单元测试、代码嗅探器等
- 部署到预生产环境
目前我一直在重复使用第一步中的图像。这就是我的 bitbucket-pipelines.yml 的样子:
pipelines:
branches:
develop:
- step:
name: Build docker image
caches:
- composer
script:
- apt-get update && apt-get install -y unzip
- docker-php-ext-install mysqli pdo_mysql json sockets
- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
- composer install
- parallel:
- step:
caches:
- composer
name: Unit tests
script:
- vendor/bin/phpunit
- step:
caches:
- composer
name: Code sniffer
script:
- composer phpcs:all
- step:
name: Deploy to preprod
script:
- echo "Deployment"
我得到的是:
bash: vendor/bin/phpunit: No such file or directory
- 来自“单元测试”步骤
和 bash: composer: command not found
- 来自“代码嗅探器”步骤
我已经试过设置docker/composer缓存,第一步保存图片,第二步导入,但还是不行。
在不同步骤之间共享内容的一种方法是使用 Artifacts。
基本上,bitbucket 在单独的 docker 容器中旋转每个步骤。因此,在步骤之间 re-use material 的一种方法是创建工件。
link 应该会给你足够的信息。
例如:
- step: &build
caches:
- node
name: Build
script:
- npm install
- npm run build
artifacts: # defining the artifacts to be passed to each future step.
- dist/**
- step: &read-from-artifact
name: Read from the artifact saved in the previous step
script:
- echo "Read artifact (dist folder) saved in previous step"
- ls -la dist/
如果有人可以帮助我为我的 php 环境设置 bitbucket-pipeline,我将不胜感激。我想要成功的是:
- 第一步构建镜像
- 在第二步中 运行 一些 QA 东西,如单元测试、代码嗅探器等
- 部署到预生产环境
目前我一直在重复使用第一步中的图像。这就是我的 bitbucket-pipelines.yml 的样子:
pipelines:
branches:
develop:
- step:
name: Build docker image
caches:
- composer
script:
- apt-get update && apt-get install -y unzip
- docker-php-ext-install mysqli pdo_mysql json sockets
- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
- composer install
- parallel:
- step:
caches:
- composer
name: Unit tests
script:
- vendor/bin/phpunit
- step:
caches:
- composer
name: Code sniffer
script:
- composer phpcs:all
- step:
name: Deploy to preprod
script:
- echo "Deployment"
我得到的是:
bash: vendor/bin/phpunit: No such file or directory
- 来自“单元测试”步骤
和 bash: composer: command not found
- 来自“代码嗅探器”步骤
我已经试过设置docker/composer缓存,第一步保存图片,第二步导入,但还是不行。
在不同步骤之间共享内容的一种方法是使用 Artifacts。
基本上,bitbucket 在单独的 docker 容器中旋转每个步骤。因此,在步骤之间 re-use material 的一种方法是创建工件。 link 应该会给你足够的信息。
例如:
- step: &build
caches:
- node
name: Build
script:
- npm install
- npm run build
artifacts: # defining the artifacts to be passed to each future step.
- dist/**
- step: &read-from-artifact
name: Read from the artifact saved in the previous step
script:
- echo "Read artifact (dist folder) saved in previous step"
- ls -la dist/