标签: bitbucket-pipelines

Bitbucket 管道将不需要的文件上传到 S3

我有一个包含以下文件的存储库:

app.js
bitbucket-pipelines.yml
package-lock.json
package.json
Run Code Online (Sandbox Code Playgroud)

我想将node_modules/ app.js package.json它们压缩并上传到 S3。我写了下面的管道:

image: atlassian/default-image:2

pipelines:
  branches: # Pipelines should that will be triggered when a push is made in the below branch
    master:
      - step:
          name: Deploy to S3
          script:
            - zip -r archive.zip node_modules/ app.js package.json
            - pipe: atlassian/aws-s3-deploy:0.5.0
              variables:
                AWS_ACCESS_KEY_ID: 
                AWS_SECRET_ACCESS_KEY: 
                AWS_DEFAULT_REGION: 
                COMMAND: 'upload-only'
                ZIP_FILE: 'archive.zip'
                S3_BUCKET: 'lambda-bucket/lambda'
                LOCAL_PATH: '$(pwd)'
                ACL: 'private'
Run Code Online (Sandbox Code Playgroud)

管道成功运行,但会将存储库中的所有文件(包括新创建的 zip)上传到 S3。如何确保管道只上传 zip 文件?

bitbucket amazon-s3 amazon-web-services bitbucket-pipelines

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

如何在 Bitbucket Pipelines 中使用 docker compose V2

传统上,我一直在发行

pip install docker-compose
Run Code Online (Sandbox Code Playgroud)

我的管道脚本中有关需要它的步骤的说明,通常用于集成测试。

这很方便,因为它可以完美地与 Bitbucket 的 docker 服务提供的 docker 二进制文件一起运行,并且受益于 pip 缓存,因为我已经在这些步骤中使用了 python 图像。但我宁愿使用最新的软件,所以我正在寻找安装 docker-compose V2 的机制。

理想情况下,解决方案应该

  • 不安装另一个 docker 二进制文件,而是重用 Bitbucket 的 docker 服务提供的二进制文件
  • 不需要特定的运行时(与需要 python 的 V1 不同)
  • 受益于某种缓存,以避免在每个管道上下载撰写插件。

有人解决这个问题吗?你的经验是什么?

docker-compose bitbucket-pipelines

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

Bitbucket Pipeline 不显示 Yarn 构建的完整输出

我有一个带有yarn build命令的位桶管道。问题是输出总是错过最后几行:

\n
+ yarn build\nyarn run v1.22.19\n$ react-scripts build\nCreating an optimized production build...\nCompiled successfully.\nFile sizes after gzip:\n
Run Code Online (Sandbox Code Playgroud)\n

之后应该会有更多行File sizes after gzip:

\n

我的bitbucket-pipelines.yml

\n
+ yarn build\nyarn run v1.22.19\n$ react-scripts build\nCreating an optimized production build...\nCompiled successfully.\nFile sizes after gzip:\n
Run Code Online (Sandbox Code Playgroud)\n

最大的问题是何时yarn build出错。因为我没有看到最后几行,所以我无法说出它失败的原因。发生这种情况时,我必须yarn build在本地计算机上手动运行才能查看完整日志,这不是最佳解决方案。

\n

当我在我的机器上运行相同的yarn build命令时,我得到完整的日志:

\n
\xe2\x9d\xaf yarn build\nyarn run v1.22.19\n$ react-scripts build\nCreating an optimized production build...\nCompiled successfully.\n\nFile sizes after gzip:\n\n  383.56 kB  build/static/js/main.a23388a2.js\n  13.39 …
Run Code Online (Sandbox Code Playgroud)

bitbucket-pipelines yarnpkg

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

如何在多分支中触发bitbucket管道

我在 bit-bucket 帐户下有一个存储库,该存储库有这 4 个分支:

- master 
- API
- Admin
- Web
Run Code Online (Sandbox Code Playgroud)

我只有bitbucket-pipelines.yml下面的一个master branch,就像这样:

image: maven:3.5.0-jdk-7

pipelines:
  branches:
    API:
     - step:
        caches:
          - maven
        script: 

           - mvn install
Run Code Online (Sandbox Code Playgroud)

所以我希望每当 API 分支发生任何推送时都会触发这个管道,事实上除非推送到 master 分支,否则它不会发生,唯一的出路是将这个相同的文件也放在 API 分支下,虽然文档说它只有一个位于 repo root 下的副本master branch,那么我怎样才能实现这一目标呢?

如果我需要在所有分支中放置相同的管道文件,我认为它完全是嘲笑,那么任何人都可以澄清这一点吗?提前致谢!

java maven-3 git-branch bitbucket-pipelines

0
推荐指数
1
解决办法
4134
查看次数

使用 maven-release-plugin 时管道循环

强文本我有一个管道设置,可以在我提交到特定分支时进行自动发布。问题是我使用的 maven-release-plugin 将其更改提交到同一个存储库和分支。这会触发相同的管道并创建一个循环。

如何排除特定分支的sertain提交?

- step:
    name: TEST01 - Automatic build and test
    caches:
      - maven
    script:
      # Here I would like to add a check to stop if some criteria is met like commitmessage==[maven-release-plugin] or something similar
      - mvn release:clean release:prepare --batch-mode -f ggw- core/pom.xml -s ggw-core/external/settings-test01.xml
      - mvn release:perform -f ggw-core/pom.xml -s ggw-core/external/settings-test01.xml -X -e
Run Code Online (Sandbox Code Playgroud)

git maven-release-plugin bitbucket-pipelines

0
推荐指数
1
解决办法
1299
查看次数

Bitbucket 管道:无法识别 build.gradle 文件中的环境变量

我有一个运行良好的 bitbucket 管道脚本和一个 version.sh bash 脚本。管道将调用版本脚本,并且在 version.sh 中存在由 bitbucket 正确引用的环境变量(我在 repo 的设置中添加了变量)。

但是,我的 build.gradle 文件中现在也有变量,但是当我尝试使用gradle build.

我不断收到的错误是 could not get unknown property '$context_url' for root project 'my_project' of type org.gradle.api.Project.

变量位于 artifactory/publish 部分:

artifactory {
    contextUrl = $context_url
    publish {
        repository {
            repoKey = 'repo'
            username = $artifactory_user
            password = $artifactory_password
        }
        defaults {
            publications('mavenJava')
            publishArtifacts = true
            publishPom = true
        }
    }
} 
Run Code Online (Sandbox Code Playgroud)

我在 gradle.build 文件中尝试了不同的语法,例如:

  • $context_url
  • '$context_url'
  • "$context_url"

变量在本地工作,我将变量存储在我的个人 ~/gradle/gradle.properties 文件中。

不知道还有什么可以尝试的。

java gradle bitbucket-pipelines

0
推荐指数
1
解决办法
868
查看次数