我在 BitBucket 项目中有多个存储库。我希望自动创建一个 bitbucket 存储库,并启用管道(设置管道配置应该很容易,推送一个 bitbucket-pipelines.yml 文件)。我如何使用 REST API 做到这一点?
试图在我的bitbucket管道构建中运行npm测试脚本并且所有测试都通过但是只是挂起并且不会移动到下一个脚本.
所以我的测试脚本是: "test": "mocha src/**/*.spec.ts --require ts-node/register --reporter spec",
这是在我的bitbucket-pipelines.yml文件中调用
- yarn install
- yarn run test
- yarn run prestart:prod
Run Code Online (Sandbox Code Playgroud)
所以纱线安装运行,纱线测试运行,但然后挂起并运行prestart:prod永远不会运行.
有什么理由它会挂起来吗?我需要设置--watch=false还是其他什么?
我正在使用 dynamodb docker 容器在 Atlassian Bitbucket 管道中运行一些测试。这些步骤使用相同的docker run命令在本地工作,但由于某种原因,在管道中运行时启动后我无法连接到数据库容器:
image: python:3.6
pipelines:
default:
- step:
caches:
- docker
script:
- docker run -d -p 8000:8000 --name dynamodb --entrypoint java amazon/dynamodb-local -jar DynamoDBLocal.jar -sharedDb -inMemory
- curl http://localhost:8000
services:
- docker
Run Code Online (Sandbox Code Playgroud)
卷曲命令返回:
curl http://localhost:8000 % Total % Received % Xferd Average Speed
Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0
0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 …Run Code Online (Sandbox Code Playgroud) 我在 docker hub 上,一旦镜像构建成功,如何触发 bitbucket 管道?
我希望它们按顺序运行:
我正在尝试设置bitbucket-pipelines.yml文件来进行构建,然后部署反应项目。下面是我的代码。
image: node:10.15.1
pipelines:
default: # Pipelines that are triggered manually via the Bitbucket GUI
- step:
name: Build
script:
- yarn
- yarn build
- step:
name: Deploy
script:
- apt-get update
- apt-get install ncftp
- ncftpput -v -u "$FTP_USERNAME" -p "$FTP_PASSWORD" -R $FTP_HOST $FTP_SITE_ROOT_DEV build/*
- echo Finished uploading /build files to $FTP_HOST$FTP_SITE_ROOT
我得到的结果是:
+ ncftpput -v -u "$FTP_USERNAME" -p "$FTP_PASSWORD" -R $FTP_HOST $FTP_SITE_ROOT_DEV build/*
could not stat build/*: No such file or directory.
ncftpput …
随着AWS CodeDeploy中部署组数量的增加,BitBucket管道开始越来越频繁地失败。
管道故障...
+ python ./_scripts/codedeploy_deploy.py
Failed to deploy application revision.
An error occurred (ThrottlingException) when calling the GetDeployment operation (reached max retries: 4): Rate exceeded
Run Code Online (Sandbox Code Playgroud)
有什么方法可以增加速率限制之前的值或减少发生的机会?
AWS论坛帖子: https ://forums.aws.amazon.com/thread.jspa?messageID =892511
python amazon-web-services boto3 bitbucket-pipelines bitbucket-aws-code-deploy
我们希望运行一些需要一定功率的构建。
默认构建实例的等效时钟速度是多少?它们有多少个虚拟内核和多少 RAM?它们可以配置为具有更高的规格吗?
我有一个 JSON 文件“appSettings.json”,其中包含以下内容:
{
"Branch": {
"Name": "test"
},
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,运行 bitbucket 管道时如何将值“Branch.Name”设置为其他值?
我正在关注这个文档 https://confluence.atlassian.com/bitbucket/deploy-to-amazon-ecs-892623902.html 来设置一个管道来部署到 ECS 集群。
此文档使用自定义任务定义 JSON 文件,并在更新映像名称后将其用于部署。
我是否需要复制完整的任务定义 JSON 并将其放入我的存储库中?我的任务定义中有很多环境变量。我不想通过将它们放在存储库中来公开它们。
或者,任务定义模板将更新默认任务定义并创建新修订。(不覆盖)
部署步骤是
tags:
revision-*:
- step:
deployment: production
name: Deploy to ECS
script:
# Replace the docker image name in the task definition with the newly pushed image.
- export IMAGE_NAME=${ECR_USERNAME}/${BITBUCKET_REPO_SLUG}:latest
- envsubst < task-definition-template.json > task-definition.json
# Update the task definition.
- pipe: atlassian/aws-ecs-deploy:1.0.0
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
CLUSTER_NAME: $AWS_ECS_CLUSTER_NAME
SERVICE_NAME: $AWS_ECS_SERVICE_NAME
TASK_DEFINITION: 'task-definition.json'
Run Code Online (Sandbox Code Playgroud)
希望我的存储库中有一个定义文件 task-definition-template.json
如何使用预定义任务而不是使用 JSON 文件?另外,我在哪里可以找到有关管道的更多文档。
atlassian/aws-ecs-deploy
Run Code Online (Sandbox Code Playgroud) bitbucket amazon-web-services amazon-ecs bitbucket-pipelines
有没有办法在管道的脚本中创建变量?看起来应该是可能的,但我还没有找到任何文档。我不断被重定向回 BitBucket 的部署或存储库变量。
我有这个工作正常的管道:
image: amazon/aws-cli
definitions:
steps:
- step: &buildImage
name: Build Docker Image
services:
- docker
script:
- aws configure set aws_access_key_id "${AWS_KEY}"
- aws configure set aws_secret_access_key "${AWS_SECRET}"
- aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 12345.dkr.ecr.us-east-1.amazonaws.com
- docker build -t 12345.dkr.ecr.us-east-1.amazonaws.com/myProject:latest .
- docker push 12345.dkr.ecr.us-east-1.amazonaws.com/myProject:latest
pipelines:
default:
- step: *buildImage
Run Code Online (Sandbox Code Playgroud)
我基于此示例,但我正在努力解决示例中的变量。
当我像这样修改脚本部分时:
script:
- IMAGE = "12345.dkr.ecr.us-east-1.amazonaws.com/myProject"
- TAG = "latest"
- aws configure set aws_access_key_id "${AWS_KEY}"
- aws …Run Code Online (Sandbox Code Playgroud) bitbucket ×4
amazon-ecs ×1
boto3 ×1
build ×1
build-server ×1
deployment ×1
devops ×1
docker ×1
dockerhub ×1
npm ×1
python ×1
reactjs ×1