标签: bitbucket-pipelines

Terraform 上的“无效的旧提供程序地址”错误

我正在尝试使用 terraform v0.14.3 部署一个 bitbucket 管道以在谷歌云中创建资源。运行 terraform 命令后,管道失败并显示以下错误:

Error: Invalid legacy provider address

This configuration or its associated state refers to the unqualified provider
"google".

You must complete the Terraform 0.13 upgrade process before upgrading to later
versions.
Run Code Online (Sandbox Code Playgroud)

我们将 terraform 的本地版本更新为 v.0.13.0,然后运行:terraform 0.13upgrade如本指南中所述:https ://www.terraform.io/upgrade-guides/0-13.html 。生成的 versions.tf 文件需要 terraform 版本 >=0.13,我们所需的提供程序块现在如下所示:

terraform {
  backend "gcs" {
    bucket      = "some-bucket"
    prefix      = "terraform/state"
    credentials = "key.json" #this is just a bitbucket pipeline variable
  }
  required_providers {
    google = { …
Run Code Online (Sandbox Code Playgroud)

terraform bitbucket-pipelines terraform-provider-gcp

33
推荐指数
4
解决办法
2万
查看次数

Android CI使用Bitbucket管道和Docker

我正在尝试在Android的Bitbucket管道中设置持续集成(CI).

我使用Android Studio 2.1.1创建了一个示例空白活动.

使用Pipelines我正在使用uber/android-build-environment Docker容器,它可以很好地创建环境.这是我的bitbucket-pipelines.yml

image: uber/android-build-environment:latest

pipelines:
  default:
    - step:
        script:
          - echo y | android update sdk --filter "extra-android-m2repository" --no-ui -a # Grab the Android Support Repo which isn't included in the container
          - ./gradlew assembleDebug
Run Code Online (Sandbox Code Playgroud)

由于uber/android-build-environment期望像这样运行,因此需要进行一些更改:

docker run -i -v $PWD:/project -t uber/android-build-environment /bin/bash /project/ci/build.sh
Run Code Online (Sandbox Code Playgroud)

例如,源不会复制到卷/project,而是管道将Bitbucket仓库的内容复制到容器的工作目录:

/opt/atlassian/bitbucketci/agent/build
Run Code Online (Sandbox Code Playgroud)

./gradlew assembleDebug运行出现以下错误:

...

FAILURE: Build failed with an exception.

* What went wrong:
Could not create service of type …
Run Code Online (Sandbox Code Playgroud)

continuous-integration android bitbucket docker bitbucket-pipelines

24
推荐指数
1
解决办法
5992
查看次数

android环境使用docker和bitbucket管道

我是Bitbucket管道(Beta)和docker的新手.没有以前的CI集成经验

我跟着这个问题,但对初学者没有明确的描述

我正在尝试使用docker容器在Android项目的Bitbucket管道中设置持续集成(CI)

我想在这个容器中使用我以前的android项目

我遵循的步骤

第1步.已安装的Docker软件工具.成功安装.

第2步.成功创建虚拟机

第3步.从Kitematic(Beta)Uber/Android-Build-Environment创建容器

成功的Docker已满

第4步.使用成功构建项目

$ eval "$(docker-machine env default)"

$ docker build -t uber/android-build-environment .
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

第5步.改变直接工作到android项目

步骤6.运行此命令时出现问题

docker run -i -v $PWD:/project -t uber/android-build-environment /bin/bash /project/ci/build.sh
Run Code Online (Sandbox Code Playgroud)

错误来了:

/bin/bash: /project/ci/build.sh: No such file or directory

错误图片

Docker机器细节

docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   -        virtualbox   Running   tcp://192.168.99.100:2376           v1.12.1
Run Code Online (Sandbox Code Playgroud)

Docker服务

docker service ls
Run Code Online (Sandbox Code Playgroud)

Docker Machine ENV

export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.XX.XXX:XXXX"
export …
Run Code Online (Sandbox Code Playgroud)

continuous-integration android continuous-deployment bitbucket-pipelines

24
推荐指数
3
解决办法
4683
查看次数

Bitbucket管道 - 具有相同步骤的多个分支

是否可以在bitbucket管道中组合多个具有相同步骤的分支?

例如:我工作的团队使用两个名称之一作为他们的评论分支,"rev"或"staging".无论哪种方式,都使用相同的步骤发布到我们的审查服务器.现在,分支被单独调出.

pipelines:
     branches:
          rev:
               steps:
                    - echo 'step'
          staging:
               steps:
                    - echo 'step'
Run Code Online (Sandbox Code Playgroud)

但它可能是这样的

pipelines:
     branches:
          rev|staging:
               steps:
                    - echo 'step'
Run Code Online (Sandbox Code Playgroud)

git yaml bitbucket bitbucket-pipelines

21
推荐指数
3
解决办法
8254
查看次数

使用BitBucket管道通过SSH访问部署到VPS

我一直试图围绕如何利用BitBucket的Pipelines将我的(Laravel)应用程序自动部署到Vultr Server实例上.

我手动执行以下步骤,我试图自动复制:

  • commit我的变化,并push以回购到位桶
  • 我使用终端登录我的服务器: ssh root@ipaddress
  • cd到正确的目录:cd /var/www/html/app/
  • 然后pull我从我的BitBucket回购:git pull origin master
  • 我再运行一些命令:composer install,php artisan migrate等等.
  • 然后我退出: exit

我的理解是你可以使用Pipelines自动化这个,这是真的吗?

到目前为止,我已经为管道和我的服务器设置了一个SSH密钥对,因此我的服务器authorized_keys文件包含来自BitBucket Pipelines的公钥.

我的管道文件bitbucket-pipelines.yml如下:

image: atlassian/default-image:latest

pipelines:
  default:
    - step:
        deployment: staging
        caches:
          - composer
        script:
          - ssh root@ipaddress
          - cd /var/www/html/app/
          - git pull origin master
          - php artisan down
          - composer install --no-dev --prefer-dist
          - php artisan cache:clear
          - php artisan …
Run Code Online (Sandbox Code Playgroud)

ssh vps bitbucket bitbucket-pipelines

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

减少rake资产中的内存消耗:预编译

问题:在自动构建中
执行rake assets:precompile任务时,我的RAM耗尽.是否有任何策略可以执行增量预编译,或以其他方式执行预编译阶段而不消耗尽可能多的RAM?看起来该任务比构建的基线消耗大约850 MB.

上下文:
我正在尝试获得一个Docker容器Bitbucket Pipelines版本的自动构建.应用程序堆栈包括Rails 4.2.7,PostgreSQL 9.3,Java 8,Maven 3.3.9和JRuby 9.1.2.0.我尝试使用Debian Jessie创建基于Alpine Linux的图像,但它在基线内存方面没有太大差别.

ruby ruby-on-rails ruby-on-rails-4 docker bitbucket-pipelines

18
推荐指数
1
解决办法
1016
查看次数

Bitbucket Pipelines在分支机构之间共享一些步骤

是否可以在分支之间共享步骤并仍然运行分支特定步骤?例如,开发和发布分支具有相同的构建过程,但上载到单独的S3存储桶.

pipelines:
  default:
    - step:
        script:
          - cd source
          - npm install
          - npm build
  develop:
    - step:
        script:
          - s3cmd put --config s3cmd.cfg ./build s3://develop

  staging:
    - step:
        script:
          - s3cmd put --config s3cmd.cfg ./build s3://staging
Run Code Online (Sandbox Code Playgroud)

我看到这篇文章(Bitbucket Pipelines - 具有相同步骤的多个分支)但它是相同的步骤.

bitbucket bitbucket-pipelines

17
推荐指数
3
解决办法
5015
查看次数

此项目中未启用 Fastlane Apple 通用版本控制

我正在做的是尝试让 bitbucket pipline 做我的 iOS CD,我包含了 docker fastlanetools/fastlane 镜像,在我拉取和运行 docker 镜像的步骤中一切正常,我能够通过调用 fastlane beta 来让 fastlane 命令工作在步骤中。

发生的事情是 fastlane 退出时出现错误 Apple Generic versioning is not enabled in this project。

我按照苹果文档从这里从 xCode 启用它 我将项目中的所有目标更改为使用 App Generic 但仍然无法正常工作

这是输出

xcode ios fastlane bitbucket-pipelines

13
推荐指数
4
解决办法
2460
查看次数

是否可以在bitbucket管道中使用多个docker镜像?

我有这个管道文件来对我的项目进行单元测试:

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
Run Code Online (Sandbox Code Playgroud)

但是可以切换到另一个Docker镜像进行部署吗?

image: jameslin/python-deploy

    pipelines:
      default:
        - step:
            script: 
              - ansible-playbook deploy
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到任何说明是或否的文件.

bitbucket-pipelines

12
推荐指数
2
解决办法
9343
查看次数

如何在BitBucket管道上为apt-get启用/设置依赖缓存

我在我的bitbucket-pipelines.yml文件中使用以下代码远程deply代码到登台服务器.

image: php:7.1.1

pipelines:
  default:
    - step:
        script:
          # install ssh
          - apt-get update && apt-get install -y openssh-client
          # get the latest code
          - ssh user@domain.com -F ~/.ssh/config "cd /path/to/code && git pull"
          # update composer
          - ssh user@domain.com -F ~/.ssh/config "cd /path/to/code && composer update --no-scripts"
          # optimise files
          - ssh user@domain.com -F ~/.ssh/config "cd /path/to/code && php artisan optimize"
Run Code Online (Sandbox Code Playgroud)

这一切都有效,除了每次运行管道时,都会下载并安装ssh客户端(为构建时间增加约30秒).有没有办法可以缓存这一步?

我怎样才能缓存这个apt-get步骤?

例如,像这样的工作(或者需要进行哪些更改才能完成以下工作):

pipelines:
  default:
    - step:
        caches:
          - aptget
        script:
          - apt-get update …
Run Code Online (Sandbox Code Playgroud)

bitbucket bitbucket-pipelines

12
推荐指数
2
解决办法
2992
查看次数