Sometimes pipeline is successful and a few times it is failing.
I assume the dynamic BITBUCKET_BRANCH name might be the issue.
<span>Traceback (most recent call last):</span>
<span> File "/pipe.py", line 47, in <module></span>
<span> pipe.run()</span>
<span> File "/root/.local/lib/python3.8/site-packages/kubectl_run/pipe.py", line 157, in run</span>
<span> self.handle_apply()</span>
<span> File "/root/.local/lib/python3.8/site-packages/kubectl_run/pipe.py", line 114, in handle_apply</span>
<span> self.update_labels_in_metadata(template_file, labels)</span>
<span> File "/root/.local/lib/python3.8/site-packages/kubectl_run/pipe.py", line 30, in update_labels_in_metadata</span>
<span> yamls = list(yaml.safe_load_all(template_file.read()))</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/__init__.py", line 130, in load_all</span>
<span> yield loader.get_data()</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/constructor.py", line 45, in get_data</span>
<span> return self.construct_document(self.get_node())</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 27, in get_node</span>
<span> return self.compose_document()</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 55, in compose_document</span>
<span> node = self.compose_node(None, None)</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node</span>
<span> node = self.compose_mapping_node(anchor)</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 133, in compose_mapping_node</span>
<span> item_value = self.compose_node(node, item_key)</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node</span>
<span> node = self.compose_mapping_node(anchor)</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 133, in compose_mapping_node</span>
<span> item_value = self.compose_node(node, item_key)</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node</span>
<span> node = self.compose_mapping_node(anchor)</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 133, in compose_mapping_node</span>
<span> item_value = self.compose_node(node, item_key)</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node</span>
<span> node = self.compose_mapping_node(anchor)</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 133, in compose_mapping_node</span>
<span> item_value = self.compose_node(node, item_key)</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 82, in compose_node</span>
<span> node = self.compose_sequence_node(anchor)</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 111, in compose_sequence_node</span>
<span> node.value.append(self.compose_node(node, index))</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node</span>
<span> node = self.compose_mapping_node(anchor)</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/composer.py", line 127, in compose_mapping_node</span>
<span> while not self.check_event(MappingEndEvent):</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/parser.py", line 98, in check_event</span>
<span> self.current_event = self.state()</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/parser.py", line 428, in parse_block_mapping_key</span>
<span> if self.check_token(KeyToken):</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/scanner.py", line 116, in check_token</span>
<span> self.fetch_more_tokens()</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/scanner.py", line 223, in fetch_more_tokens</span>
<span> return self.fetch_value()</span>
<span> File "/root/.local/lib/python3.8/site-packages/yaml/scanner.py", line 577, in fetch_value</span>
<span> raise ScannerError(None, None,</span>
<span>yaml.scanner.ScannerError: mapping values are not allowed here</span>
<span> in "<unicode string>", line 30, column 79:</span>
<span> ... -1.amazonaws.com/aupris-frontend:</span><span>INFO: Successfully updated the kube config.</span>
bitbucker-pipeline file
image: atlassian/default-image:2
options:
docker: true
size: 2x
pipelines:
tags:
release-*:
- step:
name: Build docker image
services:
- docker
script:
# build the image
- docker build -t aupris-frontend .
# use the pipe to push the image to AWS ECR
- pipe: atlassian/aws-ecr-push-image:1.4.2
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
IMAGE_NAME: aupris-frontend
TAGS: '${BITBUCKET_BRANCH}'
- apt-get update && apt-get install gettext-base
- envsubst < aupris-frontend.tpl.yaml > aupris-frontend.yaml
- sed -ie "s/THIS_STRING_IS_REPLACED_DURING_BUILD/$(date)/g" aupris-frontend.yaml
- pipe: "atlassian/aws-eks-kubectl-run:2.2.0"
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: XXXXX
CLUSTER_NAME: XXXXX
KUBECTL_COMMAND: "apply"
RESOURCE_PATH: "aupris-frontend.yaml"
DEBUG: "true"
definitions:
services:
docker:
memory: 7128
yaml file
apiVersion: v1
kind: Service
metadata:
name: aupris-frontend
spec:
# type: LoadBalancer
selector:
app: aupris-frontend
ports:
- name: http
port: 80
targetPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: aupris-frontend
spec:
selector:
matchLabels:
app: aupris-frontend
template:
metadata:
labels:
app: aupris-frontend
spec:
terminationGracePeriodSeconds: 30
containers:
- name: aupris-frontend
image: XXXXXXXXX:${BITBUCKET_BRANCH}
imagePullPolicy: "Always"
env:
- name: API_URL
value: api/
- name: FOR_GODS_SAKE_PLEASE_REDEPLOY
value: "THIS_STRING_IS_REPLACED_DURING_BUILD"
resources:
limits:
memory: "128Mi"
cpu: "100m"
ports:
- containerPort: 80